【本人秃顶程序员】提交代码前问自己七个问题!

←←←←←←←←←←←← 快!点关注

为什么写出好的代码是如此之难? 为什么经过了这么多年的努力,有这么多的最佳实践/工具/方法学 (例如:瀑布式开发,迭代开发,Scrum , XP, 单元测试,TDD,持续集成,UML,Code Review ,IDEA, Eclipse...... 这个名单可以非常长),我们还是无法创造高质量的软件?

有市场的原因,需求的原因,工期的原因,也有程序员的原因。

Bozhidar Bozhanov 在他的文章《7 QUESTIONS TO ASK YOURSELF ABOUT YOUR CODE》 (点击阅读原文可查看)提出了7个问题,我觉得很有价值, 我把他翻译了一下,分享给大家:

1. 代码是正确的吗?

是不是实现了规格说明书中的需求?如果没有的规格说明书,你自己是不是付出了足够的努力来找出软件期待的行为, 并且把它测试了一遍? --- 最好是自动的,至少也得有手工的测试。

2. 代码是完整的吗?

不管你的需求文档中写没写, 你的代码是不是仔细考虑了边界条件? 很多边界条件都是技术相关的:连接断开,内存不足,硬盘已满等等。

3. 代码是安全的吗?

它是不是遵循了安全的最佳实践,是否验证了输入数据,防止了数据注入? 它是否经过了对已知攻击的安全测试? 安全当然不仅仅是代码, 但是代码的确可以引入不少安全漏洞。

4. 代码是可读、可维护的吗?

其他人是不是可以轻松地理解你写的代码? 有没有适当的注释来描述一小部分代码在一个大场景中的位置?有没有把代码拆分成小的,可以读的单元。

5. 代码是可以扩展的吗?

代码是否允许添加新的功能而不破坏老的代码? 是不是参数化的,或者可以配置的? 有没有使用恰当的设计模式来支持扩展?

6. 代码是不是高效的?

在高负荷下能否工作正常? 是否避免了一次性读入大量数据到内存中,是否适当地使用了异步的处理?

7. 有没有一些让你可以自豪的地方?

你觉得你的代码会让你很自豪,还是说你想把它藏起来不让别人看到?

大部分的代码都是平凡的,不是光芒四射的,但是你的代码是不是展示了一些比较好的实践?你是否愿意把他放到GitHub上去?

其实这些问题不仅仅要在提交代码之前思考,在Code Review的时候也完全可以借鉴。

高质量的软件依赖很多因素,程序员可以说是最重要的一环。我觉得经常问问自己这些问题并且采取行动,你最终会变得与众不同。

欢迎大家加入粉丝交流群:963944895,群内免费分享Spring框架、Mybatis框架SpringBoot框架、SpringMVC框架、SpringCloud微服务、Dubbo框架、Redis缓存、RabbitMq消息、JVM调优、Tomcat容器、MySQL数据库教学视频及架构学习思维导图

转载于:https://juejin.im/post/5c9312b9e51d457a9d0a8f7a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值