0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

程序员的10条基本编程原则

Hack电子 来源:Hack电子 2023-12-05 11:28 次阅读

编写代码容易,但编写优秀代码却是一项挑战。采纳基本编程原则是确保编写高质量代码的稳妥途径,无论软件项目规模大小,都能保证代码高效、易读、可靠、安全且易维护。

糟糕的代码有多种形式:杂乱、庞大的if-else链、不可靠的程序、变量命名不合理等等。如何编写有效代码?需要有纪律和目的。以下是让您成为更好的编程人员的核心编程原则。

1、保持简洁明了 Keep It Simple, Stupid (KISS)

d741c086-9312-11ee-939d-92fbcf53809c.png

这听起来有点苛刻,但在编写计算机代码时,这是最重要的原则之一。KISS是什么意思?

它意味着你应该尽可能简单地编写代码。基本编程规则之一是不要陷入过于巧妙的陷阱,或用一大段高级代码来炫耀。如果能用一行代码编写脚本,就用一行代码。

这是一个简单的函数:

functionaddNumbers(num1,num2){
returnnum1+num2;
}

相当简单。易于阅读,了解发生了什么。

这种精神中的一个编程原则是使用清晰的变量名称。充分利用编码库并使用现有工具。六个月后回来工作时更容易。保持简单将会在很大程度上避免不必要的困扰。

2、编写DRY代码

“不要重复自己”(DRY)编程原则意味着,简单地说,不要重复代码。这是一个常见的编程错误。编写代码时,避免重复数据或逻辑。如果你曾经在程序中复制并粘贴代码,那么这不是DRY代码。

看看这个脚本:

functionaddNumberSequence(number){
number=number+1;
number=number+2;
number=number+3;
number=number+4;
number=number+5;
returnnumber;
}

与其复制行,不如找到一个使用循环的算法

DRY代码易于维护。调试一个处理50次重复的循环比调试50个处理一次重复的代码块更容易。

3、Open/Closed原则

按照良好的编程原则进行工作将使您的工作更加高效。

这种编程原则意味着你应该使你的代码可扩展但不可修改。这确保了即使需求改变,也不需要修改代码。这是在发布其他人将使用的库或框架时的重要原则。

例如,假设您正在维护一个GUI框架。您可以发布一个版本供程序员修改并直接集成您发布的代码。然而,当您在四个月后发布一个重要更新时会发生什么呢?

他们的代码会崩溃。这可能会使你的同事非常不高兴。无论以前它有多么有用,他们以后都不想再使用你的库了。

相反,发布代码阻止直接修改并鼓励扩展。像这样的基本编程原则将核心行为与修改行为分离。代码更稳定,更易于维护。

4、组合优于继承

如果你使用面向对象编程编写代码,那么这个编程原则对你会非常有用。组合优于继承的原则指出,具有复杂行为的对象应包含具有单个行为的对象实例。它们不应该继承一个类并添加新的行为。

依赖继承会引发两个主要问题。首先,继承层次结构可能会变得非常混乱。其次,你在定义特殊情况行为时有更少的灵活性。假设你想实现分享行为:偏向简单的编程原则通常为更有效的最终结果铺平道路。

d7624bf8-9312-11ee-939d-92fbcf53809c.png

组合编程更易于编写、更易于维护,并允许定义灵活的行为。每个单独的行为都是它自己的类。通过组合单个行为可以创建复杂行为。

5、单一责任原则

图片编码原则都有一个共同的目标:由更有经验的程序员编写更优质的代码。

单一责任原则规定程序中的每个类或模块应只提供一个特定的功能。正如罗伯特·C·马丁所说:“一个类应该只有一个变化的原因。”

类和模块通常从这样的方式开始。小心,不要在类变得更复杂时增加过多的责任。重构并将它们分解为更小的类和模块。

过度加载类的后果是双重的。首先,在尝试隔离某个模块进行故障排除时会使调试变得复杂。其次,为特定模块创建附加功能会变得更加困难。良好的编程原则可以在问题出现前阻止这些问题。

6、关注点分离

关注点分离的概念是单一责任原则的抽象版本。这个理念指出你应该设计具有不同部分的程序,并且这些部分不应相互访问。

这的一个知名例子是模型-视图-控制器(MVC)设计。MVC将程序分成三个不同的区域:数据(模型)、逻辑(控制器)和页面显示内容(视图)。MVC的变体在当今最流行的网络框架中很常见。

例如,处理数据库的代码不需要知道如何在浏览器中渲染数据。渲染代码接收来自用户的输入,但逻辑代码处理处理过程。每段代码都是完全独立的。

其结果是易于调试的代码。如果您需要重写渲染代码,您可以这样做而不必担心数据如何保存或逻辑如何处理。

7、你不会需要它(YAGNI)

有些编码原则比其他原则更直接。

这个原则意味着你不应为了未来可能需要的功能而编写代码。计算机编程中最重要的原则之一是不要试图解决不存在的问题。

为了编写DRY代码,程序员可能会违反这个原则。通常,缺乏经验的程序员试图编写最抽象和最通用的代码。然而,过度抽象会导致臃肿的代码,难以维护。

只有在需要时应用DRY编程原则;如果您注意到代码一遍又一遍地写,实现一层抽象。不要牺牲当前代码的批次来考虑太远的未来。

8、文档化你的代码

在谈论编码原则时,很容易忘记最终可能会查看代码的人。

任何资深开发人员都会强调使用适当的注释记录代码的重要性。所有的编程语言都提供了注释的方式;你应该养成编写注释的习惯。留下注释以解释对象、增强变量定义以及让函数更易于理解。

以下是一个带有注释的 JavaScript 函数,指导你了解代码:

//如果数字为奇数,则此函数将在输入数字上加上5,否则返回数字本身
functionevenOrOdd(number){
//判断数字是否为偶数
if(number%2==0){
returnnumber;
}
//如果数字为奇数,则加上5并返回
else{
returnnumber+5;
}
}

在编码时留下注释需要一些额外的工作。这需要时间,并会分散你对实际工作的注意力。你对自己的代码相当了解,对吧?谁会在乎呢?但值得记住的是,即使在技术领域,也没有什么是可以被丢弃的。最终的计算机编程原则是什么,如果对面的人最终迷失了方向?

我们建议你多走一步,在你担心事情会变得混乱或不清晰的地方留下注释,特别是在与他人合作时。不要强迫其他开发人员去解读你的语法,以免让他们感到沮丧。

试着写一个程序,放置六个月不动,然后返回修改它。你会庆幸你记录了你的程序,而不是不得不研究每个函数来记住它的工作方式。

9、重构

这个编程原则鼓励你始终以全新的视角审视你的工作。

很难接受,但你的代码不会一开始就是完美的。重构代码意味着审查你的代码,寻找优化的方法,使其更高效,同时保持结果完全相同。这是编写更清洁和高质量代码的考虑。

代码库不断发展。编程原则之一是记住,重新审视、重写甚至重新设计整块代码是完全正常的。

这并不意味着你第一次写程序时失败了;随着时间的推移,你不可避免地会更加熟悉项目。利用这些知识随着你的进步进行调整。

10、一切代价都要编写清晰的代码

d779e150-9312-11ee-939d-92fbcf53809c.png

除了所有基本的编程原则外,把你的自我留在一边,忘记编写过于聪明的代码。当我们说这句话时,我们指的是那种看起来更像是谜语而不是解决方案的代码。你编码不是为了给陌生人留下深刻印象。你从事这个职业是为了解决问题。

不要试图把大量逻辑塞进一行代码中。在你的注释和文档中留下清晰的说明。如果你的代码易于阅读,通常也易于维护。

优秀的程序员和可读性高的代码是相辅相成的。当必要时留下注释,遵循代码风格指南,并尽可能地站在下一个人的角度考虑。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3642

    浏览量

    94089
  • 函数
    +关注

    关注

    3

    文章

    4350

    浏览量

    63051
  • 代码
    +关注

    关注

    30

    文章

    4841

    浏览量

    69195
  • 程序员
    +关注

    关注

    4

    文章

    953

    浏览量

    29881

原文标题:你真的知道?程序员的 10 条基本编程原则

文章出处:【微信号:Hack电子,微信公众号:Hack电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    程序员无我编程10戒律

    在《The Psychology of Computer Programming | 程序开发心理学》书中,温伯格首次提出了无我编程十诫。本文则是 Stack Overflow 联合创始人 Jeff Atwood 对这十诫的注解。程序员
    的头像 发表于 10-26 14:57 1425次阅读

    10倍效率程序员是否真的存在

    编程神话中,一个 10 倍效率的程序员可以完成一个普通程序员 10 倍的工作量。「普通程序员
    的头像 发表于 10-30 11:50 2092次阅读

    关于程序员的59编程语录详细资料免费下载

    程序员编程语录1. 一个好的程序员是那种过单行线马路都要往两边看的人。(Doug Linder)2. 程序有问题时不要担心。如果所有东西都没问题,你就失业了。(软件工程的Mosher定
    发表于 11-01 09:22 9次下载

    真正的程序员是什么样的

    在互联网高速发展的今天,每个人似乎都融入了互联网的环境里。因此而造就了很多的“程序员“。以至于每年的10月24,被定位程序员日。在这样的行业里,似乎每个人多多少少会一些编程,于是生产出
    的头像 发表于 12-10 14:04 2267次阅读

    程序员如何定义

    当了几年的程序员了,一直都在想一个问题,什么是程序员程序员应该做好那些事情,什么样的程序员是有素质的程序员?什么样的
    的头像 发表于 12-18 14:15 2803次阅读

    菜鸟程序员和大神程序员的差距

    刚刚走出就业的程序员,技术是刚刚起步的基点。那下面我们就聊一聊有关技术的东西。首先请您先想想这几个问题。现在社会上有很多程序员,CSDN就是我们程序员的家,那您是否可想过程序员为什么会
    的头像 发表于 06-03 15:56 2595次阅读

    什么是程序员

    当了几年的程序员了,一直都在想一个问题,什么是程序员程序员应该做好那些事情,什么样的程序员是有素质的程序员?什么样的
    的头像 发表于 06-04 16:21 9118次阅读

    程序员的未来

    程序员出路在何方程序员 创业如果你是程序员,也想创业,看看我说的。
    的头像 发表于 06-12 17:29 3017次阅读

    普通程序员和高级程序员有哪些区别

    从工作的方面来说,普通程序员和高级程序员一般有下面几个区别:
    的头像 发表于 09-08 10:47 3849次阅读

    优秀程序员与糟糕程序员的变现差异

    软件蚕食一切,未来属于程序员。所以人人都想当程序员。但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。
    的头像 发表于 11-07 16:14 3118次阅读

    优秀程序员的标准有哪些

    每个程序员都想知道自己是不是一个优秀的程序员,那么,就参考一下下面这10 ,看看自己是否达到了一个优秀程序员的标准。
    的头像 发表于 11-15 16:15 3342次阅读

    程序员的类型

    今天来聊个有趣的话题,你是什么类型的程序员? 在学校里或在公司里,你是不是接触过不少其他的程序员,有没有发现,虽然同属程序员科, 但也有众多的不同。 今天我就来给程序员分个类,看看你是
    的头像 发表于 11-28 16:39 4760次阅读

    10个习惯让程序员受益匪浅

    当谈到编程时,很多人应该都有听过10x程序员的说法。 据说一个10x程序员的效率大约是其他程序员
    的头像 发表于 01-04 11:33 2146次阅读

    10程序员的终端跟普通程序员有何不同

    来源丨http://33h.co/wquzt 终端是程序员的必备工具之一,10程序员的终端跟普通程序员有何不同?本文将介绍许多牛逼且实用的开源工具,用上这些工具后你不一定会变成
    的头像 发表于 09-29 11:40 1920次阅读

    AI编程工具会不会抢程序员饭碗

    AI编程工具可辅助编程,减少手动编码,提升效率,对程序员有积极影响也有挑战。程序员需深化技能、拓宽知识应对。长远看,AI与人类程序员将共生共
    的头像 发表于 11-08 10:17 246次阅读