在互联网行业程序员出身的大佬们,谁的编程能力最强?他们写代码的基本功是怎么练成的呢?
但是在前阵子的程序员节上,360 创始人周鸿祎讲了讲自己的看法——
01
大佬编程排行榜
“在我认识的程序员中,雷军、求伯君是非常出色的。马化腾、丁磊自己也写程序,但他们是更出色的产品经理。如果从整个编程的功力来讲,自己应该可以排到前三名。”
而某大佬也曾公开表示非常推崇周鸿祎:“当我小心翼翼地展示约10万行C++代码的软件时,他(周鸿祎)竟在十几分钟内就指出多处重大的设计错误,使我目瞪口呆地意识到整个软件系统的价值为零。”
02
写好代码的坏习惯
写代码时听音乐
过去习惯边听音乐边写代码,以为这样有助于集中注意力。直到有一天,回顾某个模块的代码,发现代码的注释里包含着歌词。音乐并没有让人专注写代码,事实上听音乐还会耗费一部分宝贵的脑力资源,而这些资源本该用于编写设计良好的整洁代码。
被人打断
提供了一些方法解决这个问题:一是结对编程,当你被打扰时,你结对的搭档能够帮你回忆被打断前的思维;二是采用TDD(测试驱动开发),失败的测试能帮你维护住编码进度的上下文,当处理完中断重新回去时,你很清楚下一步任务就是解决这个失败的测试。
3
适当放松有助于更好突破
写不出代码
这里提供的解决方案还是结对编程,当和别人一起工作时,会发生一种生理上的变化,能够帮助人冲破阻塞继续前进。
进度延迟
管理延迟的诀窍是早期检测和保持透明,要根据目标定期衡量进度,使用三个考虑到多种因素的期限:乐观预估、标称预估、悲观预估,尽量严守这三个时间点。
编程并非易事。越年轻的程序员对此可能越没有什么感觉。毕竞代码只不过是一堆if和whie语句而已。但是随着经验渐长,你会开始意识到把这些if和 while语句组装在一起的方式十分重要。不能期望将它们简单混在一起就能得到最好的代码。相反,必须小心谨慎地将系统分解为易于理解的小单元,同时使这些单元之间的关系越少越好,这并非易事。
编程很难,仅凭一已之力无法写出优秀的代码。既使你的技能格外高超,也肯定能从另外一名程序员的思考与想法中获益。
编辑:汤 佳
审核:施 薇
签发:张海军