分辨好坏代码

来源:互联网 发布:java多态实现 编辑:程序博客网 时间:2024/04/26 10:49

r: 未完待续,明天继续

坏代码

在讨论什么是好代码之前,先认识下什么是坏代码.知其而后懂避之.

可读性:

比如, 各种错综复杂的逻辑;意义不明,意义不明的代码会导致你盯着看了很久却不知道实现了什么.

扩展性:

比如,实现新需求时或者修改原有功能时,出现莫名其妙的bug;

复用性:

比如,同一段代码复制而没有封装成函数,对使用场景做了太多定制而导致难以复用

可测试:

耦合逻辑导致难以测试

好代码

遵循单一功能原则,一个函数里只做一件事,一个类里只做一件事.
错误处理完全根据一个明确的策略;

简洁性[待补]

可读性

好的编码规范

1). 关于注释,偏向于写注释,虽然也有接触过有的文章建议尽量让代码友好到不需要注释,但个人还是偏向于在写友好代码的基础上写注释.毕竟在中国,中文更为友好.
2). 关于命名,清晰的变量与函数命名是最好的文档.以及一些细节,比如在函数命名是不使用and连接参数,但会使用and表示一个函数执行了两个独立的操作.
3). 关于书写格式,包括空格换行. 比如函数就一行显示或者参数长且多就换行保持对齐,
项目编码风格等文档,则可根据文档统一代码风格.
4).关于文档,理解工程的重要途径之一.对于项目的介绍(包括功能与整个文档的目录结构,大致了解整个项目的结构与功能);QuickStart也就是快速入门介绍基本使用以及详细的说明文档.
逻辑清晰;

健壮性

处理异常与并发的能力.单元测试的覆盖率能在一定程度上体现代码的异常处理情况.

扩展性[待补]

依赖少,易于维护.

效率/性能[待补]

性能优化,但不是无原则的最优化

如何写出好代码

对整个项目的把握度,抽离出可复用的部分;
合理的抽象与分层;
组织复杂的逻辑;
最后就是练习,唯有深入项目实践中,方法论才能得以升华.

讲讲代码审查[待补]

顺便扯扯结对编程[待补]

参考资料

关于烂代码的那些事(上)
关于烂代码的那些事(中)
关于烂代码的那些事(下)

怎样判断程序员写的代码好坏
代码审查的5点经验教训总结

r: 跟师父交流的时候发现自己对于如何分辨好坏代码,其实是很模糊的..致力于写好代码,但什么样的代码是好代码,什么样的代码是坏代码,没有认真思考过,也就没有真正的认识.只懂得在写代码的过程中会要求自己拥有好的编码规范,写优雅简明的代码而不具分辨好坏代码的能力,这样是不够的.所以,仅以此文记录自己对于好坏代码的认识,现在对此的认识显然是不够的,相信随着时间的推移,对此的认识也会加深.一旦有新的认识就及时更新文章

0 0
原创粉丝点击