⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 https://www.cnblogs.com/yuyong970919/p/10314158.html 「老余博客」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

《人月神话》出版以来,IT行业的科技公司们一直苦苦追寻传说中以一当十的超级程序员,最新的研究表明确实存在这样一小撮效率奇高的“程序金刚”,但是一位普通程序猿如何能够蜕变成代码金刚呢?

近日web开发专家Christian Maioli总结了导致程序猿效率低下,代码像意大利面条一样难以维护的35条恶习(归为代码组织、团队工作、写代码、测试与维护四大类)。

代码组织

1.总是说“一会弄好”,但从来不兑现。(缺乏任务管理和时间管理能力)

2.坚持所谓的高效、优雅的“一行代码流”,事实上,可读性才是最重要的,聪明是第二位的。

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.忽略其他非功能性需求。(例如安全和性能,准备一份这方面的清单,忽略这些会毁掉你的所有成果)

文章目录
  1. 1. 代码组织
  2. 2. 团队工作
  3. 3. 写代码
  4. 4. 测试与维护