软件设计心得-没做好设计的表现

有一些官方的说法,但过于抽象不好理解。比如:

Bjarne Stroustrup,C++之父:

1. 逻辑应该是清晰的,bug难以隐藏;

2. 依赖最少,易于维护;

3. 错误处理完全根据一个明确的策略;

4. 性能接近最佳化,避免代码混乱和无原则的优化;

5. 整洁的代码只做一件事。

Grady Booch,《面向对象分析与设计》作者:

1. 整洁的代码是简单、直接的;

2. 整洁的代码,读起来像是一篇写得很好的散文;

3. 整洁的代码永远不会掩盖设计者的意图,而是具有少量的抽象和清晰的控制行。

而通俗的说法就是

1. 平时把各种代码堆砌在一起,出BUG时定位问题就像“大家来找茬”。

2. 为了一个小需求,要在无数地方小心翼翼各种微调,还被产品经理嫌弃改的慢。

3. 辛辛苦苦写好的代码,被别人在其他地方不经意地修改,给弄崩溃了。

4. 我喜欢的一名博主叫“海贼直译的老法师”,好多程序员做的是需求的直译,缺少抽象、缺少设计。

具体特征及解决方式

1. 复杂函数

特征:代码行多、分支嵌套深、复杂度高

影响:不易理解和维护,代码冗余

解决办法:有意识的去分解提炼小函数、独立的功能函数,甚至当感觉需要写注释来说明的时候,就代表该独立了。函数建议:代码行不超过24,if语句嵌套深度6,圈复杂度10

2. 数据泥团

特征:参数太多

影响:影响编译效率,难以阅读和理解

解决办法:将参数封装为对象

3. 不必要的引用

特征:未使用某个dll却添加了引用

影响:编译速度慢,不必要的报错

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前两天发的文章都没有能成功发表,一看原因都说我违反了论坛的规则。 我觉得不能发表就不能发表拉,毕竟国家要稳定为主。...
    柏木水阅读 2,372评论 0 1
  • 在如今这个Lean/Agile横扫一切的年代,设计似乎有了被边缘化的倾向,做事的周期如此之快,似乎已容不下人们更多...
    沐风大神阅读 2,744评论 0 1
  • C语言中的数据类型 C语言中基本数据类型有字符型char,布尔型bool,整型int,长整型long,浮点型flo...
    沐森老师阅读 3,607评论 0 0
  • 软件测试在某度谋课中的定义是:在规定的条件下,对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要...
    刘年若水阅读 3,229评论 0 1
  • 最近一直在思考一个问题,想要成为一名合格的软件设计师,应当具备哪些素养?结合最近的工作项目以及工作态度,我发现自己...
    佛系少女_Xx阅读 1,586评论 0 1