软件工程师设计总结:软件工程师修炼十大法则之七
“设计优先”这条原则,相对来说更加具体一些。之所以单列一项,是因为架构设计太重要了。Uncle Bob 曾说过:“软件架构的目标,是为了让构建与维护系统的所需人力资源最小化。”
架构设计,并不仅仅关系到系统的质量,还关乎团队的效能问题。很多团队也有明文规定,开发周期在 3pd以上的项目必须有设计文档,开发周期在5pd以上的项目必须有设计评审。在具体的执行过程中,由 于各种原因,设计往往并不能达到预期的效果。究其原因,有的是因为项目周期紧,来不及设计得足够详细;有的是因为RD主观上认为项目比较简单,设计草草了事。
无数事实证明,忽略了前期设计,往往会 导致后续开发周期被大幅拉长,给项目带来了很大的Delay风险。而且最可怕的是,不当的设计会给项目 带来巨大的后期维护成本,我们不得不腾出时间,专门进行项目的优化与重构。因此,无论什么时候都要记住“设计优先”这一原则。磨刀不误砍柴工,前期良好的设计,会给项目开发以及后期维护带来极大的收益。
“设计优先”这一原则,要求写别人看得懂的设计。我们了解一个系统最直接的途径就是结合设计文档与代码。在实际工作中,很多同学的设计文档让大家看得一头雾水,通篇下来,看不出系统整体的设计思路。其实,设计的过程是一种智慧上的创造,我们更希望它能成为个人与集体智慧的结晶。如何才能让我们的设计变得通俗易懂?我个人认为,设计应该尽量使用比较合理的逻辑,进而把设计中的一些点组织起来。比如可以使用从抽象到具体,由总到分的结构来组织材料。
在设计过程中,要以需求为出发点,通过合理的抽象把问题简化,讲清楚各个模块之间的关系,再详细分述模块的实现细节。做完设计之后,可以发给比较资深的RD或者PM审阅一下,根据他们的反馈再进行完善。好的设计,一定是逻辑清晰易懂、细节落地可执行的。
一定要设计,一定要设计,一定要设计 重要的事说三遍
- 01-29鹿回头景区和哪个景区最近?广东人成长中忘不了的一个度假村
- 03-11地球第一棵树大概是多少年前:地球上最早的树木是什么
- 05-01说一句你收藏了很久的文案吧,有没有一句文案让你记很久
- 02-23贵州适合周末游玩的地方:贵州十大夜游必去景点
- 11-27目前最好的一款老人收音机:玩了20年收音机的数码达人
- 10-29jyp新女团预告照公开:JYP与韩女团合作舞台来了
- 05-17一年级语文下册词语搭配专题:小学一年级语文下期中备考
- 03-09苍兰诀哪个更符合原著?苍兰诀,原著结局如何傲娇魔尊到底是半身不遂还是精神分裂
- 12-24关羽为什么敢单刀赴会?关羽,单刀赴会的真相
- 02-108gb+128gb售价2999:从1499降至979,8128GB配置
- 03-24营销和销售的区别是什么?营销和销售的本质区别是什么
- 10-16节能低碳,我们在行动的活动 节能环保,我们在行动生活中的低碳小知识
- 11-29自动控制系统最不利的扰动形式:自动化控制两种类型前馈控制和反馈控制
- 03-15大众捷达安装雷达视频:捷达提车作业改装装大屏导航
- 04-25少年必看十部纪录片:良心推荐优质纪录片既然孩子爱看剧
- 01-07星盘解析准确度:星盘解析
热门
推荐
- 1感悟人生经典句子摘抄296
- 2创新无法避免作文407
- 3帮家长做家务的心得体会129
- 4祛水痘印的方法263
- 5有关于求职简短的简历自我评价321
- 6韭菜炒香干好吃又好看的做法125
- 7实习生单位评语及推荐意见163
- 8怎么快速有效送餐,兼职美团挣取更多外卖钱?152