首页 > 其他分享 >一个关于软件工程的往事--代码整洁

一个关于软件工程的往事--代码整洁

时间:2022-10-27 16:03:10浏览次数:58  
标签:抽象层次 原则 -- 代码 编程 重复 软件工程 整洁

小注:曾经有一次,实在不知道如何体现我们软件开发的辛苦,就给甲方要了一笔钱,费用名称就叫 软件工程费。现在,想想也是多年以前的值得会心一笑的事情。后来,买了一些书,实在是看不进去,这不有人专门讲了一下,就非常开心,简单回顾一下。

一、主题

软件工程的敌人就是复杂度

复杂度的一个基本标准就是代码整洁。

所以为了能够控制话题,只说 Clean Code.

二、指导原则

以下多半是口耳相传 多年的经验之谈,自己搬运一下,整理一下,便于自己强化理解和记忆

什么是好代码?

局部干净,核心逻辑清晰

指导原则:

消除重复,分离关注点,统一抽象层次

三、原则分说

分开来说,

1.消除重复

一句话解释:减少心智负担,重复过程中把自己整晕了,因为变化的点藏在云里雾里。

例子:代码重复,结构重复

解决方法:继承体系(有时候也多是使用组合),泛型(比较不错的发明),模板方法(这个快用烂了,mvc思想或者说Template),高阶函数(流水化,毕竟函数式编程还是曾经很流行的)

2.关注分离点

一句话解释:关注点一致的代码,应该高内聚,低耦合,使用空间换取心智思考的时间。那么,关注点不一样的代码,应该互相之间没有任何关联。

议论:就是物以类聚,人以群分,抱成一个团。但是,这是一个方法论,是为了在设计和意识层面对于细节的把握。锻炼自己的抽象能力,并不是为了处处分开。代码是一点点写的,也是总结出来的,如果很多事情直接做好了,那是非常好的,很多时候总是有各种妥协,但是还是可以每次改正一点点。

批注:心有猛虎,细嗅蔷薇。

3.统一抽象层次

一句话解释:同一抽象层次的对象可以直接对话,并且存在着紧密合作。

议论:抽象是人类最伟大的发明,区别与其他智人。

四、附录

这里非常想提一点的就是 命名与注释:

之前总是整不明白为何要有一个领域专家的词。

现在知道了它是为何出现,解决什么问题。

就是一个在实践上面三个原则的过程中,发现,天然有一个职场分工的分包分层。需求,产品,设计,开发,测试.....

例子:大家对于清洗苹果这个业务,其中苹果这个概念可能表达不同:

需求说,一个红色的果子

产品说,吃着不错,还是很健康,这个历史很悠久....

设计不说话,画了一个自己心中的物件

开发不说话,整了一个Apple

测试不说话,TestXxx就结束了

所以,统一术语,应该就是领域专家的核心内容。

这种能够沉淀下来的东西才会成为技术财富。

关于上述三个原则的编程tips,是不讨论的,因为技巧是说不完的,有了深刻的理解,就会源源不断地创造属于自己的技巧和编程习惯。实在需要就可以去看阿里的武侠秘籍,什么黄山版,嵩山版....Tencent也有白皮书...

小结:希望带来一点开心




标签:抽象层次,原则,--,代码,编程,重复,软件工程,整洁
From: https://blog.51cto.com/u_10725691/5801385

相关文章