《人月神话》出版以来,IT行业的科技公司们一直苦苦追寻传说中以一当十的超级程序员,最新的研究代表确实存在这样一小撮效率奇高的“程序金刚”,可是一位普通程序猿如何可以蜕变成代码金刚呢?html
近日web开发专家Christian Maioli总结了致使程序猿效率低下,代码像意大利面条同样难以维护的35条恶习(归为代码组织、团队工做、写代码、测试与维护四大类)。程序员
1.老是说“一会弄好”,但历来不兑现。(缺少任务管理和时间管理能力)web
2.坚持所谓的高效、优雅的“一行代码流”,事实上,可读性才是最重要的,聪明是第二位的。vim
3.无心义的优化。(相似网页大小之类的优化最后再作)安全
4.不注重代码样式和风格的严谨。工具
5.使用无心义的命名。性能
6.忽略通过验证的最佳实践(例如代码审核、TDD、QA、自动化部署等,推荐阅读软件开发必读经典著做:Making Software:What Really Works,and Why We Believe It)。开发工具
7.给本身埋雷。(例如使用不会报错的库或者忽略例外)测试
8.过早放弃计划优化
9.坚持一个无效的计划
10.老是单打独斗。(必须强迫本身与团队分享进度和想法,避免错觉,提升效率)
11.拒绝书写糟糕的代码。(日程紧迫的时候能够写一些“糟糕”的代码,这是程序员的能力而不是bug,固然,有时间的时候必定要回头偿还“技术债”)
12.抱怨他人。
13.不与团队分享所学。
14.向主管/客户反馈的速度过慢
15.不会充分利用Google
16.看重我的编码风格
17.带着我的情绪看待他人对本身代码的评论和注释
18.不懂优化策略
19.使用错误的工具。
20.不追求对开发工具和IDE的精熟。
21.忽略报错消息。
22.迷恋称手的开发工具。(不一样类型的开发任务须要匹配对应的最佳开发工具,例如Sublime适合动态语言,而Eclipse适合Java,若是你喜欢vim或emacs,并不意味着能用这些工具干全部事)
23.不注重代码中赋值的可配置性。(不养成把代码中的活动部件分离出来的习惯,会致使技术债暴增)
24.喜欢从新发明车轮。
25.盲目地剪切/粘贴代码。
26.应付差事,不求甚解,不花时间搞清楚项目运做的机理。
27.对本身写的代码过分自信。
28.不去考虑每个设计、方案或者代码库的“反作用”。(一个成功的用例并不意味着“万灵药”)
29.在一个地方卡住了但坚持不呼救。
30.只去写能经过的测试
31.重要项目中忽略性能测试
32.不去核实代码是否真的可用,没有养成开发中及时快速测试的习惯。
33.重大改动延迟推送
34.抛弃和逃避本身的代码。
35.忽略其余非功能性需求。(例如安全和性能,准备一份这方面的清单,忽略这些会毁掉你的全部成果)
查看更多:老余博客www.xjqyc.cn