干净的代码开发人员 - 第 1 部分

Explore workouts, and achieving AB Data
Post Reply
suchona.kani.z
Posts: 258
Joined: Sat Dec 21, 2024 5:19 am

干净的代码开发人员 - 第 1 部分

Post by suchona.kani.z »

通过干净的代码架构通过价值系统逐步获得专业知识的机会对于您培养良好代码质量的价值观非常有帮助。 Clean Code Developer 是一个有用的方法,下面我首先向您解释一下为什么 CCD 是一个有用的方法以及它到底意味着什么。 “清洁代码开发人员”运动是我评论的基础。

为什么选择CCD?
为什么您的开发团队需要原则和实践来创建高质量的软件系统?很简单:所有流程模型(无论是 V 模型或瀑布模型等经典模型、Scrum 和看板等敏捷模型,还是 LeSS 和 SAFe 等规模化模型)只有通过正确的开发方法才能成为高效的开发模型。然而,代码库通常会在短时间内变得自我吸收,因此对更改和新需求的反应脆弱且不可预测。尽管我想强调,无论各自的流程模型如何,都可以有效地使用干净的代码,但我在博客文章中主要指的是敏捷流程方法。

由于您在软件项目中面临各种各样的流程模型,因此无论您选择哪种模型,确保软件的高质量就显得尤为重要。下图展示了干净代码作为一种开发方法在敏捷软件开发中所占据的地位。


开发环境中的干净代码(来源:devblogs.ch)

正如您所看到的,实际系统只有一个地方实际生产。虽然周围 脊医电子邮件地址 的层为系统的生产提供了基础或支撑框架,但生成代码是软件开发的核心。你可以将这个过程与餐厅的流程进行比较:即使餐厅装修精美,价格便宜,服务人员友善且称职,但如果食物味道不好,你也不会满意。正如厨师使用他的食谱和经验准备一顿美餐一样,作为开发人员,您也应该使用您的“食谱”和经验来确保编程软件的高质量。您可以将干净代码开发人员的原则和实践视为一种“食谱”。

然而,定义代码质量的尝试会是什么样子呢?在CCD价值体系中你肯定会遇到以下一些特征:

具有稳定努力曲线的可进化性
正确性
可测试性(质量)
稳健性(即新功能不会导致新错误)
可读性
您是否想知道为什么代码应该具有这些属性?很简单:良好的代码质量是软件灵活稳定的基础!无论您选择哪种流程模型,代码质量都是开发项目成功的基础。它确保架构设计的好处真正体现在代码中。为了实现这一目标,您的开发团队有必要定义有关质量目标的通用方法。在软件开发中尚未出现对这些属性的共同理解。因此,不同的经历也会导致对代码质量的不同看法。因此,可以从 CCD 得出以下主张:

与前面提到的属性相关的代码质量的迭代改进。
开发团队中技术知识的同步和扩展。
整个团队取得了微小但持续的进步。
持续监控进展情况。
透明地表示已经实现的目标和仍需要实现的目标。
直观地遵守开发人员规则,日常工作不需要大量文档。
享受软件开发“工艺”的乐趣!
什么是CCD?
那么什么是清洁代码开发者系统呢?简而言之:它是不同程度的原则和实践的集合。这些级别是逐步迭代地完成的,符合敏捷方法。该运动的基础是 Robert C. Martin 所著的《清洁代码:敏捷软件工艺手册》。作者是软件工艺运动的联合创始人 - 除其他外,它呼吁将软件开发活动视为一门手艺。 Martin 也是《敏捷宣言》的签署者之一,该宣言被誉为敏捷流程模型的基础。然而,在当前敏捷开发的定义中,干净代码很少作为基本的开发方法出现。因此,我想提醒大家注意这个方法。

Stefan Lieser 和 Ralf Westphal - Clean Code Developer 的创始人 - 通过以下公式深入了解此方法的核心:专业精神 = 意识 + 原则。这意味着以下内容:

专业的软件开发人员有意识地从事该职业。这意味着他反思他的产品、他的工作方式、他的材料和工具。当老板或客户高兴时,专业的软件开发人员不仅仅会高兴。他也不仅仅满足于制造商向他推荐的产品。相反,他不断观察和检查他的结果,并努力进一步发展自己和他的职业。
专业的软件开发人员有一个内部价值体系,他可以根据该体系检查自己的结果和行为。只有当他的工作符合这个价值体系时,他才会感到满意。因此,他的目标是即使在客户或制造商的压力下也能忠于这一价值体系。
CCD是一种基于敏捷的“检查和适应”的学习方法,但也包含某些价值观的集合,包括可进化性、正确性、生产效率和持续改进。可以看到这些值都体现在前面描述的代码质量要求中。
Post Reply