最近看了一遍文章,总结了 StackOverflow 上面20个最有争议的编程观点,挑了8个跟大家分享一下我自己的一些解读。
业余时间不写代码的,都不是优秀的程序员
其实“业余”这个词就已经给业余时间产出的代码定性了。
国内大部分程序员多少都想搞点副业,而一身的编程技能是他们能快速利用的,常见的比如接外包。
但我所见过的大部分有副业的优秀程序员,几乎都是把业余时间写代码当成工作来做,或者说为了锻炼自己的编程技能,目的也是为工作更好地服务,提高效率。
我认为业余时间写不写代码和是否优秀并无关系,当然如果能以提升和实践的角度去不断练习,这无疑是一个对自我能力有要求的程序员。
只会一门语言的程序员,不是优秀的程序员
这个观点的作者提到,自己所学过的每种语言都能让他收获不同的新知识,并能把这些语言有效地结合应用。
在他看来,这是人的一种探究和试验精神的表现,优秀的程序员就应该要具备这种研究素质。
我比较认同他的观点,从国内互联网发展环境来说,程序员去学习、去适应变化是常态,java程序员学个python开发并不是什么新鲜事。
不要对“垃圾代码”有偏见
有时候完成一个特定的工作任务,或许一段“垃圾代码”就可以快速解决,但这种代码看起来可能是不符合规范的,或者后续无法延用的,又或者是难维护的,但它却是当下能快速解决问题的。
很多程序员喜欢花很长时间想一个完美的技术方案,但对于特定场景的短期小问题,或许也可以尝试用“垃圾代码”先解决问题。
在解决问题前,先不要带有主观偏见。
代码的“可读性”是最重要的
有人认为代码的可读性比正确性还重要。可读性强意味着后续维护成本低,其他人接手也能快速理解,测试和修改成本也相对更低。
常见的比如一个程序员新人入职,让他去看高级开发写的代码,大部分时候脑子是乱的,因为每个人都在各自的逻辑里,理解维度不一样,这时候“可读性”就变得很重要。
以上4个关于优秀程序员和代码的观点,也引起了很多程序员的讨论,有人附议有人不认同,大家对于这4个观点是何想法?欢迎留言讨论!
另外4点,下一篇再跟大家分享。
原文:
https://programmers.blogoverflow.com/2012/08/20-controversial-programming-opinions/