成为一名优秀程序员的技巧 总结
今天
鬼哥
给大家推荐一篇总结性的学习文章,可以认真读读
“一个好的程序员,即使在过单行道,也会环顾左右看有没来车。~Doug Linder
”
首先声明一下,我不认为自己是一个合格的程序员。我认为我的编码能力很平庸,还有很多东西要学,在成为合格程序员的路上我还任重道远。是的,我的编程能力比很多人强,但那只是因为他们很懒,选择整天无所事事而不是写代码。他们”可怕的能力“使我不那么可怕的能力显得很神奇。
因此,下面提到的大多数技巧都是我从失败的努力中吸取的教训,这些要点都是我希望自己能做到,但还没有做到的,与大家共勉。我们开始吧。
1.专注于基本概念
任何行业和任何工作都是如此,概念性的理解是成功的关键。除非一个人有强大的概念基础,否则他/她永远不可能成为一个好的程序员。核心概念的理解有助于你以最佳方式设计和实施最佳解决方案。如果你仍然觉得在计算机科学的核心概念和你的编程语言的具体概念上有欠缺,那么现在回头复习一下基础知识也不迟。
2.搞清楚你写的代码是如何工作的,为什么能工作
我注意到,熟练的程序员和其他程序员之间的明显分界线是:熟练的程序员渴望知道发生了什么以及如何发生的。有一小部分人,除非他们彻底搞清楚一段代码运行时到底发生了什么,否则就不会停止钻研。我明白,当任务交付时间很紧张时,我们并不总有时这样的自由。此时,我们也只能放弃刨根问底,代码可以 work 就行了。当然讨论如何在工期紧张的情况下很好地完成工作有点跑题,但作为一个程序员,我们总是可以尽力去挖掘尽可能多的东西。相信我,随着时间的推移,这会成为一种习惯,然后你每次都会在不知不觉中这样做。
3.帮助他人,你会学到更多
我们中的大多数人都有一个共同的倾向,即只在遇到麻烦需要帮助的时候才会打开 StackOverflow 或者在微信群求助。好的程序员和其他程序员之间有一个明显的区别,那就是前者更经常地在论坛或者群里帮助别人。这使他们学到了更多的东西,而不是由别人来解决他们的问题。在一个团队中也是如此,帮助别人解决他们的问题。相信我,在别人的工作背景下了解他们的问题,研究并提供解决方案,会让你比以前学到更多。
4.代码要简单、容易理解,逻辑清晰才好
KISS(Keep it simple and short),这句金玉名言放之四海而皆准,对于编程也是。编写更具逻辑性的代码,避免复杂性。有时人们写复杂的代码只是为了证明他们具备写这种代码的能力。我的经验是,简单但逻辑清晰的代码总是 work 得很好,Bug 更少,也有更好的可扩展性。我记得有一句话说的很好,好的代码是它自己最好的文档。当你准备添加注释时,问问自己,"我怎样才能改进代码,使之不需要这个注释?" ~Steve McConnell
5. 花更多的时间来理解和分析问题,并为其设计解决方案,你会发现你节省了很多改 Bug 的时间
设计并不总是意味着要使用 UML 或者画个流程图,它可以是简单的看着天空,在头脑中思考解决方案。那些习惯一遇到问题就敲键盘的人,通常做出来的东西会与需求相去甚远。
6. 做第一个 review 你自己代码的人
虽然有点困难,但你可以试着在别人之前仔细分析你自己的代码,随着时间的推移,你会学会写出接近无缺陷的代码。始终对你的代码进行密切的、不带偏见的审查。也不要犹豫,要听取别人对你的代码的看法。与优秀的程序员一起工作并听取他们的反馈意见,肯定会帮助你成为一个优秀的程序员。
7. 多看文档
好的程序员的一个基本习惯是,他们阅读大量的文档。可能是规范、JSR、API文档、教程等。阅读文档可以帮助你获得必要的基础信息,并在此基础上以最好的方式进行编程。
8. 你也可以从别人的代码中学到很多东西
我和一些优秀的程序员交流过,他们的 IDE 中一直打开着 java 的源代码,用于在日常工作中阅读/参考。他们这样做不仅是为了满足他们对基础知识的渴求,也是为了学习编写好程序的方法。阅读和参考可靠的、已知的开源代码或你的前辈的代码,也可以帮助你写出更好的代码。
还有最后一项,上面没有列出。不要将自己与他人做比较。
你将自己与他人比较,只会导致负面情绪和不健康的竞争(不要卷)。每个人都有他或她的长处和短处。更重要的是,我们要了解自己长处和短处,并为之努力。我曾多次看到,所谓的 "fundoo-programmers"(基本功扎实的程序员)也会犯一些愚蠢的错误。所以,分析你自己优缺点,列出你需要改进的地方,然后努力去做。编程是一种真正的乐趣,享受它吧。
“任何傻瓜都可以写出计算机可以理解的代码。好的程序员写的代码是人类可以理解的。~Martin Fowler
”
听说点赞的小伙伴都找到了漂亮的女朋友,反正
鬼哥
是点了
原文地址:dev.to/cglikpo/tips-to-become-a-great-programmer-471e 长按 ↓
面二维码,添加鬼哥微信
,进群
一起学前端