永无止境的追求提高代码质量,提高其可读性,可维护性和性能产生了大量的建筑和设计原则。干(“不要重复自己”),YAGNI(“你不会需要它”),和亲吻(“保持简单,愚蠢”)原则是三个我们都应该记住当我们的代码。
这三个首字母缩写代表的概念可以帮助简化开发过程以及使代码更简单、更清洁,更易于维护。我们将检查这三个原则以及了解他们可以应用到您的. net应用程序的代码。
使用本文提供的代码示例,您应该Visual Studio 2022安装在您的系统。如果你不已经有一个副本,你可以在这里下载Visual Studio 2022。
在Visual Studio创建一个控制台应用程序项目
首先,让我们创建一个在Visual Studio . net核心控制台应用程序项目。假设Visual Studio 2022安装在您的系统,遵循下面的步骤创建一个新的。net核心控制台应用程序项目。
- 启动Visual Studio IDE。
- 点击“创建新项目。”
- 在“创建新项目”窗口中,选择“控制台应用程序。网络核心)”从模板列表中显示出来。
- 单击Next。
- 在“配置您的新项目”所示的窗口,为新项目指定的名称和位置。
- 单击Next。
- 在“附加信息”窗口中,选择“。净7.0(标准支持)”一词,你想使用这个框架版本。
- 单击Create。
我们将使用这个. net 7控制台应用程序项目和代码示例的干燥,YAGNI,和吻原则在本文的后续部分。
干燥的原理
在软件金博宝188手机网页开发中,“不要重复自己”的原则意味着你应该避免重复的代码在您的应用程序。干强调宽松应用程序的可维护性的源代码应用程序生命周期的所有阶段。坚持这一原则将确保改变一个位置中的代码自动更新每一个发生在整个应用程序中代码。
干燥原理鼓励开发人员编写的代码是干净的,模块化的、可重用的。模块化可以帮助修改和添加到应用程序更高效、无缝的,用更少的错误蔓延到系统的风险。
干燥可以应用到您的软件开发过程的各个方面包括代码、配置文件、文档和用户界面。金博宝188手机网页它可以帮助开发者减少他们需要的代码编写和维护,消除冗余代码,从而减少缺陷和更有效的利用资源。
干燥原理可以用来增强开发人员之间的协作和教新开发人员如何导致现有代码库更成功,除了提高代码的质量和可维护性。
用c#实现干燥原理
您可以实现干燥原理在c#中在以下方式:
- 使用方法:方法实现干燥原理,让您集中的代码将用于您的应用程序的多个部分。通常容易重复的代码在多个地方进入方法,称之为来自世界各地。任何需要更改可以在一个位置进行代码库。
- 使用类和继承:当行代码分布在许多类和方法,它们可以被安置在一个父类,然后所有的派生类可以继承。这种方法确保修改的代码可以在一个位置,而不是在每一个单独的类,它扩展了基类。
- 使用接口:代码跨类没有共享一个共同的基类可能会进入一个接口和实现的相关课程。通过这种方式,在所有类型代码将被共享,这样如果你需要修改代码,你只需要更新接口。
下面的代码片段说明了如何实现干燥原理使用方法。注意AddIntegers方法被重用。
类程序静态void Main (string [] args) {{int = 5;int b = 10;int x = 10;int y = 20;/ /调用AddIntegers方法两次int s1 = AddIntegers (a, b);int s2 = AddIntegers (x, y);控制台。WriteLine ($ " a和b的和是:{s1},“美元+“x和y的总和是:{s2}”);Console.ReadKey ();}静态int AddIntegers (int, int num1 num2){返回num1 + num2; } }
干燥原理的这是一个很好的例子,因为我们避免复制代码添加两个数字,而是创建了一个可重用的方法,可以调用多次与不同的参数。
吻的原则
在软件体系结构和设计的背景下,“保持简单,愚蠢”的原则主张更简单的解决方案在复杂的,因为他们更容易理解,使用和维护。这一原则旨在鼓励简单的设计和功能应用,产品和服务。
你可以吻原则适用于软件开发的各个方面从用户界面的应用程序体系结构设计。金博宝188手机网页其核心理念包括避开不必要的复杂性,而是优先考虑简单和最简单的解决方案,有效地满足用户的需要或手头的任务。
接吻是一个重要的原则在工程。Kelly Johnson最初使用KISS原则强调简单的飞机设计的重要性。随着时间的推移,这一原则获得巨大的人气,获得承认作为一个指导原则不同问题从设计到问题解决在软件应用程序。
用c#实现KISS原则
考虑以下两种方法。第一个方法返回月使用切换实例构造名称作为文本字符串。第二种方法实现使用一个if - else构造相同。你能告诉这是吻方法?
公共静态字符串GetMonthNameUsingSwitchCase (int){开关(数字){案例1:返回“1月”;案例2:返回“2”;案例3:返回“3”;案例4:返回“4”;案例5:返回“可能”;案例6:返回“6月”;案例7:返回“七月”;例8:返回“八月”;案例9:返回“九月”;例10:返回“十月”; case 11: return "November"; case 12: return "December"; default: throw new InvalidOperationException(); } }
公共静态字符串GetMonthNameUsingIfElse (int){((< 1) | |(> 12))把新InvalidOperationException ();string[]个月= {“1”、“2”、“3”、“4”、“5”、“6”、“7”,“8”,“9”,“10”,“11”,“12”};返回月(数- 1);}
正如你可以看到,该方法使用切换实例构造更简单和容易理解。
YAGNI原则
YAGNI或“你不需要它”原则意味着您应该只实现功能后,您需要它。YAGNI原则说不必要的代码会增加复杂性,使系统难以理解、测试和维护。它更容易管理一个精简和高效的应用程序,所以只有实现所需要的功能。
YAGNI原则密切相关敏捷软件开发金博宝188手机网页方法,强调快速、定期交付可运行的软件。专注于最重要的特性和交付他们在早期将允许开发人员经常得到来自利益相关者的反馈,调整自己的计划,并不断地改进应用程序。
YAGNI原则并不阻止计划或深谋远虑,但鼓励开发人员关注要点,避免增加功能他们不会使用。开发人员也应该避免“镀金”他们的代码,为了完美增加不必要的复杂性。
用c#实现YAGNI原则
下面的代码片段YAGNI原则提供了一个示例。你知道为什么吗?
类作者{私人字符串_firstName;私人字符串_lastName;公共作者(琴弦firstName、lastName) {_firstName = firstName;_lastName =姓;}公共字符串GetAuthorName(){返回$ {_firstName} {_lastName}”;}}{类程序静态void Main (string [] args){作者作者= new作者(“Joydip”、“Kanjilal”);控制台。WriteLine($“全名:{author.GetAuthorName ()} ");}}
在这个例子中,作者类遵循YAGNI原则实现最少的功能。对于这个简单的示例中,我们只考虑作者的两个属性的实体,即第一名和姓。
我们没有实现不必要的特征如年龄、地址或电话号码。我们可以实现这些属性之后,如果我们发现我们有一个使用。同时,我们坚持YAGNI原则通过不执行不必要的功能,避免代码bloat-additional特性可能会使代码难以理解,使用和维护。
通过应用干,吻,和YAGNI原则,我们可以构建更好的应用程序,让开发人员更有效率。我们可以创造更好的软件,更容易理解和维护随着时间的推移,如果我们减少重复的工作,使我们的代码尽可能的简单,和消除无关的特性。