InfoQ|细节中有上帝,论精简代码( 三 )
本文插图
组合:类应该根据其组合而非继承来实现多态 。 例如 , 一辆车不是一个发动机 , 而是集成了一个发动机 , 所以发动机之类的组件通过外部 API 组合起来形成高级抽象 。
最后 , 我们来谈整洁(精益)代码原则的第三大支柱 。
纪律
- 能力 = 纪律 + 技能
- 拥有良好的态度胜过拥有多年经验 。
- 良好的态度是有感染力的 。 它会激励整个团队 。
纪律是一套标准、规则、试探法、原则和实践等 。 下面我来定义一些保持你的代码整洁的最佳方法:
- 童子军规则 。 离开营地时先打扫干净 。 每次编写代码时 , 我们应该稍微清理一下旧代码 , 是否是别人编写的都没关系 。 整理一下就可以做出一点贡献 。 只是不要疯狂清洗一大堆东西 , 否则你可能会破坏某些内容 。
- 一定要非常简洁 。 记住 , 不要过度设计;不要用牛刀杀鸡 。
- YAGNI(你并不需要它) 。 不要因为将来可能添加更多功能就写一个工厂设计模式 。 等到需要的时候再创建工厂 , 不要提前行事 。
- 最小意外原则 。 为每件事物找到一个地方 , 然后将其放置在其他开发人员更容易找到的地方 。 尽量不要放在会让别人感到意外的去处 。
- “如果没有测试 , 那就默认它坏了” 。 编写大量测试 , 尤其是单元测试 , 否则你会后悔的 。
- 类和函数应该尽量小一些 , 并遵守单一责任原则(SRP) 。 函数不应超过 4 行 , 而类不应超过 100 行代码 。 是的你没看错 。 它们也应该只做一件事 。
- 函数应该没有副作用 。 副作用(例如修改输入参数)是有害的 。 确保你的代码中没有副作用 。 尽可能在函数合约中明确这一点(例如 , 传递原生类型或没有 setter 的对象) 。
- 避免重复 。 抽象出常见的事物并将它们放在一个位置 , 从而避免重复的代码 。
本文插图
如何避免重复
- 以后再做等于永远不会做 。 你有长长的待办事项列表 , 但你内心深知你永远不会完成它们 。 一个好办法是 , 每次加入新的待办事项时都写一条自己正在处理的事项 。
- 4 人代码审查规则 。 为了确保你完全遵循所有标准和最佳实践等 , 你应该总是要求 4 个人来审查代码:身边找两位开发人员 , 你的技术主管以及最重要的是你自己 。 你审查自己代码的时候应该和审查别人代码时一样严谨 。
- 代码分析工具 。 Resharper、IDE 企业版、SonarQube、SpotBugs 之类的工具可以帮助你遵守最常见和关键的代码准则 。
感谢阅读 。 感兴趣的话可以关注我(https://medium.com/@hugeponkce) 。
参考阅读:
为你推荐InfoQ Pro是 InfoQ 专为技术早期开拓者和乐于钻研的技术探险者打造的专业媒体服务平台 。 扫描下方二维码关注InfoQ Pro , 即可在【充电计划】中获取技术 PPT 下载链接 , 每周更新哟~持续关注我们 , 还有更多技术分享活动与干货资料 , 就等你来!
【InfoQ|细节中有上帝,论精简代码】
点个在看少个 bug??
推荐阅读
- 行业互联网,一加手机|中国全球化品牌榜单:华为蝉联、一加稳中有升,青岛啤酒强势入围
- InfoQ|Google早已看到未来多容器的挑战,利用Anthos能否实现多集群统一管理?
- 青年|十二生肖:命中有佛光普照,总能化煞为吉,一帆风顺的四大生肖
- 华为|华为Mate 40再曝光:屏幕贴膜展现更多细节
- 汽车知识|宝骏730新款优势明显!一款细节非常到位的家用车?
- 新机发布|华为Mate 40再曝光:屏幕贴膜展现更多细节
- |OnePlus Nord相机细节曝光:4800万主摄
- |新型管材BWFRP五大细节辨真伪 众管联打造电商平台让你放心买
- |吸尘器好用但别吸这三种东西 选购时注意细节
- 天极网|吸尘器好用但别吸这三种东西 选购时注意细节