设计原则
封装和抽象
Unix 系统的 “一切皆文件”体现了封装和抽象的设计思想
封装了不同类型设备的访问细节
抽象为统一的文件访问方式
好处:
隔离底层设备访问的复杂性
统一的访问方式能够简化上层代码的编写
代码更容易复用
能有效控制代码复杂性的蔓延,将复杂性封装在局部代码中
隔离实现的易变性,提供简单、统一的访问接口
分层和模块化
模块化
将系统划分成各个独立的模块
聚焦在独立的高内聚模块来开发
分层
计算机领域的任何问题都可以通过增加一个间接的中间层来解决
把容易复用、跟业务关系不大的代码,尽量下沉到下层
把容易变动、跟具体业务强相关的代码,尽量上移到上层
基于接口通信
不同层之间、不同模块之间,通过接口调用
接口设计要隐藏实现,接口从命名到定义都要抽象一些,尽量少涉及具体的实现细节
高内聚、松耦合
修改更聚焦
引入 bug 的风险更小
为扩展而设计
提前思考项目中未来可能会有哪些功能需要扩展,提前预留好扩展点,以便在未来需求变更的时候,在不改动代码整体结构的情况下,轻松地添加新功能
识别代码的可变部分和不可变部分,将可变部分封装起来,隔离变化,提供抽象的不可变接口,供上层系统使用
KISS 首要原则
简单清晰、可读性好
避免过度设计、过早优化
当扩展性和可读性冲突时,首选 KISS 原则,首选可读性
最小惊奇原则
The Least Surprise Principle ---- 《Unix 编程艺术》
在做设计或编码的时候要遵守统一的开发规范,避免反直觉的设计
遵从统一的编码规范,所有的代码都像一个人写出来的,能有效地减少阅读干扰
研发管理和开发技巧
1. 吹毛求疵般地执行编码规范
2. 编写高质量的单元测试
3. 不流于形式的 Code Review
4. 开发未动、文档先行
5. 持续重构、重构、重构
6. 对项目和团队进行拆分
Code Review
践行三人行必有我师
摒弃个人英雄主义
能有效提高代码可读性
是技术传帮带的有效途径
保证代码不止一个人熟悉
能打造良好的技术氛围
是一种技术沟通方式
能提高团队的自律性
文章转载自PiPiD,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




