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