分辨好坏代码
来源:互联网 发布:java多态实现 编辑:程序博客网 时间:2024/04/26 10:49
r: 未完待续,明天继续
坏代码
在讨论什么是好代码之前,先认识下什么是坏代码.知其而后懂避之.
可读性:
比如, 各种错综复杂的逻辑;意义不明,意义不明的代码会导致你盯着看了很久却不知道实现了什么.
扩展性:
比如,实现新需求时或者修改原有功能时,出现莫名其妙的bug;
复用性:
比如,同一段代码复制而没有封装成函数,对使用场景做了太多定制而导致难以复用
可测试:
耦合逻辑导致难以测试
好代码
遵循单一功能原则,一个函数里只做一件事,一个类里只做一件事.
错误处理完全根据一个明确的策略;
简洁性[待补]
可读性
好的编码规范
1). 关于注释,偏向于写注释,虽然也有接触过有的文章建议尽量让代码友好到不需要注释,但个人还是偏向于在写友好代码的基础上写注释.毕竟在中国,中文更为友好.
2). 关于命名,清晰的变量与函数命名是最好的文档.以及一些细节,比如在函数命名是不使用and连接参数,但会使用and表示一个函数执行了两个独立的操作.
3). 关于书写格式,包括空格换行. 比如函数就一行显示或者参数长且多就换行保持对齐,
项目编码风格等文档,则可根据文档统一代码风格.
4).关于文档,理解工程的重要途径之一.对于项目的介绍(包括功能与整个文档的目录结构,大致了解整个项目的结构与功能);QuickStart也就是快速入门介绍基本使用以及详细的说明文档.
逻辑清晰;
健壮性
处理异常与并发的能力.单元测试的覆盖率能在一定程度上体现代码的异常处理情况.
扩展性[待补]
依赖少,易于维护.
效率/性能[待补]
性能优化,但不是无原则的最优化
如何写出好代码
对整个项目的把握度,抽离出可复用的部分;
合理的抽象与分层;
组织复杂的逻辑;
最后就是练习,唯有深入项目实践中,方法论才能得以升华.
讲讲代码审查[待补]
顺便扯扯结对编程[待补]
参考资料
关于烂代码的那些事(上)
关于烂代码的那些事(中)
关于烂代码的那些事(下)
怎样判断程序员写的代码好坏
代码审查的5点经验教训总结
r: 跟师父交流的时候发现自己对于如何分辨好坏代码,其实是很模糊的..致力于写好代码,但什么样的代码是好代码,什么样的代码是坏代码,没有认真思考过,也就没有真正的认识.只懂得在写代码的过程中会要求自己拥有好的编码规范,写优雅简明的代码而不具分辨好坏代码的能力,这样是不够的.所以,仅以此文记录自己对于好坏代码的认识,现在对此的认识显然是不够的,相信随着时间的推移,对此的认识也会加深.一旦有新的认识就及时更新文章
- 分辨好坏代码
- 分辨罗汉果好坏:
- 怎么分辨博文的好坏
- 用于分辨浏览器类型的JS代码
- 怎样判断代码质量的好坏?
- 终于知道 代码好坏的区别
- 怎么分辨显卡的好坏,什么样的显卡可以打游戏,什么样的显卡可以做设计?
- 评判一个代码或者系统设计的好坏的原则
- 分辨质数
- 心情好坏
- 好坏转换
- 机器学习PAI通过声音分辨男女(含语音特征提取相关数据和代码)
- 【量化小讲堂-Python&Pandas系列10】如何判断一个策略的好坏?(附代码)
- 塑膠瓶無毒有毒分辨~
- 作用域分辨符 ::
- 常见网络设备分辨
- Android各分辨
- 分辨毒药和蒸馏水
- javascript五种创建对象的方法
- Struts2文件上传 注意事项
- [知识点滴]JavaScript的真正解释
- Linux系统运维常用命令
- 大数据系列修炼-Scala课程96(1)
- 分辨好坏代码
- c++::拷贝构造函数
- 大数据系列修炼-Scala课程96(2)
- 继承机制
- Head First Python学习笔记(2)
- 欢迎使用CSDN-markdown编辑器
- 数据仓库与数据集市建模
- springMVC----实现文件上传
- 大数据系列修炼-Scala课程97