开发者社区> 问答> 正文

程序员有哪些约定俗成的“码德”?

4000积分,吨吨桶*6

工作中,你是否遇到过不守“码徳”的程序员,他们的代码从来不讲究规范性。比如不规范命名,直接用a、b、c等字母来命名,回溯代码总会一头雾水;比如调用API时,不讲究入参结构一致,出参结构一致,在编写调用API的SDK时,麻烦重重。本期就来讨论下,程序员有哪些约定俗称的“码徳”。

本期话题:
1、程序员有哪些约定俗成的“码徳”?
2、你觉得哪些不规范的编程行为最让人头疼?

本期奖励:
截止9月20日24时,参与话题讨论的有效回答(6名),将有机会获得吨吨桶*1。
截屏2023-09-13 17.18.28.png

获奖规则:参与话题的首位回答,以及中奖楼层百分比为3%,13%,33%,63%,83%的有效留言用户可获得互动幸运奖。 如:活动结束后,回复为100层,则获奖楼层为100 3%=3,依此类推,即第3、13、33、63、83位回答用户获奖。如遇非整数,则向后取整。如:回复楼层为80层,则80 13%=10.4,则第11楼获奖。

注:楼层需为有效回答(符合互动主题),灌水/复制回答将自动顺延至下一层。话题讨论要求原创,如有参考,一律注明出处,否则视为抄袭不予发奖。获奖名单将于5个工作日内公布,礼品7个工作日内发放,节假日顺延。

本期有效活动时间内共收到99个回答,根据抽奖计算,获奖名单是:张志凌、Benz、huc_逆天、游客fwdadgun2o33i、1941623231718325

首答获奖名单:lovelydong

展开
收起
提个问题! 2023-09-13 17:35:49 4527 42
131 条讨论
参与讨论
取消 提交讨论
  • 程序员有一些约定俗成的“码徳”(编码道德),这些主要是关于代码的可读性、可维护性和效率的。以下是一些常见的约定:
    可读性:保持代码清晰易读。使用有意义的变量名、函数名和类名。避免使用只有一两个字母的抽象名称。代码注释应准确、简洁,描述代码的功能和意图。
    可维护性:代码应易于维护。避免过度的复杂性,将代码分解为小模块和函数。遵循设计模式,以便将代码逻辑清晰地映射到现实世界的问题。
    效率:在保持可读性和可维护性的同时,尽可能提高代码的执行效率。这可能涉及选择正确的数据结构、算法和编程语言,以及优化关键代码段。
    兼容性和错误处理:编写的代码应尽可能兼容不同的平台、框架和版本。同时,应考虑错误处理,以防止程序在遇到错误时崩溃。
    安全性:保护用户数据,避免潜在的安全漏洞,如SQL注入、跨站脚本(XSS)等。
    持续学习和改进:由于编程技术和工具不断变化,程序员应持续学习新的技术和最佳实践,以提高他们的编码技能。
    以下是一些不规范的编程行为,这些行为可能会让人感到头疼:
    不恰当的命名规则和风格:这可能导致代码可读性变差,增加后期维护的难度。例如,使用非描述性的变量名或函数名。
    过度的抽象和复杂性:过度使用复杂的编程模式或者过度将代码拆分为小的函数或类,使得代码难以理解和维护。
    不恰当的错误处理:不处理可能会引发错误的操作,或者在程序崩溃时没有提供恢复机制。
    不充分的测试:没有全面的单元测试和集成测试,导致问题在代码部署后才发现。
    冗余和重复的代码:复制和粘贴代码而不是重用和抽象,使得代码难以维护,且可能引入错误。
    没有注释或者文档:缺乏注释和文档使得其他开发者难以理解代码的功能和意图。
    不考虑性能和资源管理:写出的代码不考虑执行效率和资源管理,可能导致程序运行缓慢或者消耗过多的系统资源。

    2023-09-20 21:38:40
    赞同 16 展开评论 打赏
  • 一万年太久,只争朝夕。

    作为程序员,遵守以下的 “码德” 是常见且被普遍遵守的:

    1. 代码规范:程序员应该编写具有可读性、可维护性和可扩展性的代码。这包括遵循适当的缩进、命名规范(如驼峰命名法)、注释规范、代码结构等。

    2. 不复制粘贴:程序员应该避免复制粘贴代码,而是尽量重用代码块或创建可复用的函数或类。

    3. 测试与调试:程序员应该编写适当的单元测试来验证代码的正确性,并在出现问题时进行调试。他们应该在提交代码前进行测试和调试,以确保代码的质量。

    4. 版本控制:程序员应该使用版本控制系统(如Git)来管理代码,并定期进行代码提交和拉取最新的代码更改。

    5. 开放沟通:程序员应该与团队成员、项目经理和其他相关人员进行开放和及时的沟通,分享他们的进展、问题和需求。

    6. 尊重他人代码:程序员应该尊重他人的代码,不擅自修改或删除其他人的代码。如果需要更改他人的代码,应该先与他们进行沟通并获得许可。

    7. 安全和隐私:程序员应该遵守安全和隐私规则,确保代码和数据的安全性,并尽量最小化对用户敏感信息的收集和使用。

    8. 持续学习:程序员应该积极主动地学习和掌握新的技术和工具,以提高自身的技能和知识水平。

    总的来说,“码德”强调的是程序员应该遵守职业道德和良好的行为规范,以建立高质量的代码和积极的工作环境。

    2023-09-20 20:19:07
    赞同 16 展开评论 打赏
  • 您提到的这些问题在实际工作中确实较为常见,我觉得程序员应该遵守的一些“码德”包括:

    1. 采用规范的命名规则,不能直接用a,b,c这样的字母和数字组合,变量、函数、类等命名要有意义。
    2. 模块化编程,代码要有逻辑结构和层次感,不能写成一坨代码,要分模块和函数。
    3. 良好的代码注释,multipurpose解释关键流程和思路,利于后期维护。
    4. 遵循一定的代码规范和风格,如括号、缩进等要统一。
    5. 函数、接口要设计得简洁明了,入参和出参结构尽量保持一致性。
    6. 避免重复代码,复用已有模块,抽象共性代码到函数、类中。
    7. 编写可靠的测试代码,确保质量。
    8. 代码版本控制,修改记录明确。
      我觉得最让人头疼的行为主要有三点:
    9. 变量、函数命名随意无意义,导致不可读、不可维护。
    10. 代码混乱,编程逻辑欠清晰,结构失范。
    11. 接口、模块设计随意,不同模块间无法弹性组合,耦合严重。
      如果团队达成命名、规范、文档等编码约定,并形成良好编程习惯,可以大大提升协作效率和代码质量。希望大家共同提高,使编程成为一种享受。
    2023-09-20 17:33:33
    赞同 13 展开评论 打赏
  • 一:
    尊重代码,
    保持可维护性,避免冗余,保持可测试性,避免全局状态,尊重数据
    二:
    不良的代码风格,没有注释和文档,不使用版本控制,没有单元测试,不考虑可扩展性

    2023-09-20 16:14:52
    赞同 15 展开评论 打赏
  • 公众号:盼盼小课堂

    高内聚 低耦合 分层设计 写好注释

    2023-09-20 15:30:14
    赞同 14 展开评论 打赏
  • 程序员的“码德”是指程序员在工作中应该遵守的一些基本准则和道德规范。这些准则和规范包括但不限于:

    1. 诚实和诚信:程序员应该诚实地报告工作进展和问题,不夸大或隐瞒信息,以保持透明和可信赖。 2. 隐私保护:程序员应该尊重用户的隐私,不泄露用户的个人信息。 3. 代码质量:程序员应该写出高质量的代码,遵循编码规范和最佳实践。 4. 合作精神:程序员应该与同事合作,共同解决问题。

    2023-09-20 13:04:19
    赞同 12 展开评论 打赏
  • 1、程序员有哪些约定俗成的“码徳”?
    变量名通俗易懂,代码写注释
    2、你觉得哪些不规范的编程行为最让人头疼?

    各种嵌套,穿插引入重复代码

    2023-09-20 12:09:09
    赞同 10 展开评论 打赏
  • 1.驼峰式命名或者下划线命名,别用拼音!
    2.注释!注释!注释!
    3.符号(=、;、+等)前后加空格
    4.对齐!

    2023-09-20 12:09:06
    赞同 6 展开评论 打赏
  • 用拼音命名变量
    这些人自以为很多人用便是对的,学习洋文是可耻的,使用的方法是有序的
    殊不知拼音的重码率和英文单词完全不是一个级别
    当然如果都用首字母简写的话,那不管用拼音还是英文,没注释清楚的都是答辩

    2023-09-20 11:29:27
    赞同 7 展开评论 打赏
  • 不能写只有自己能看懂的代码,完毕。

    2023-09-20 10:32:47
    赞同 8 展开评论 打赏
  • 学习ing
    1. 程序员的约定俗成的"码德"包括:

      • 合理的命名规范
      • 代码格式化和缩进
      • 适当的注释和文档
      • 函数和模块设计原则
      • 使用版本控制和代码管理工具
      • 编写测试和保证代码质量
      • 积极合作和有效交流
    2. 不规范的编程行为包括:

      • 命名不规范
      • 缺乏注释和文档
      • 长函数和方法
      • 复杂的逻辑和嵌套
      • 忽略错误处理
      • 缺乏代码审查
      • 不合理的代码布局
      • 不遵循团队约定

    这些不规范的编程行为可能导致代码难以理解、维护困难,影响团队合作和代码质量。

    2023-09-20 10:24:50
    赞同 8 展开评论 打赏
  • 是个只会写bug的程序媛啊!!!

    程序员约定俗成的“码德”如下:

    • 代码每天备份。
    • 上传代码时写清楚log信息。
    • 提供接口时不要把问题抛给使用接口的人,升级或者变更接口时不要删掉原来的接口。
    • 变量命名要见名知意。
    • 在工程中新建一个doc文件夹将项目相关的文档放在该目录下,方便后面维护的人员理解项目和代码。
    • 签署bug或者转办bug时写明分析结果和转办原因。
    • 向身边的同事或者在网上提问时,先要有自己的分析和思考。
    • 不私自接受功能变更,不私自增删功能。

    我觉得让人头疼的不规范的编程行为有:

    1. 协作时不使用版本控制:没有版本控制工具,代码的修改和合并将异常艰难。
    2. 不使用合适的变量命名:如果使用很短或随机的名称来给变量命名,会影响代码的可读性。
    3. 使用过多的依赖,不经思考直接升级:这会影响代码的稳定性。
    4. 不写注释,注释不写完整,需要调对方代码,或者更换负责人,对别人来说,都是很痛苦的。
    2023-09-20 09:58:16
    赞同 8 展开评论 打赏
  • 那些看似波澜不惊的日复一日,总有一天会看到坚持的意义!

    一名合格的高级码农应该有以下的码德①一定要认真写好注释,②命名一定要规范,③千万别冗余的代码写一大堆④代码能跑就行,千万别乱改。

    2023-09-20 08:27:13
    赞同 3 展开评论 打赏
  • 首先就是得写注释,这不用说了。

    其次就是代码里要调用公共写好的API,而不是像部分工程师说你搭建的框架不好用我用我自己的而导致代码一个人写的一个样。

    还有就是最好写好一个功能提交一次代码,我记得我部署的时候最怕的那个工程师了,临近发版前一次性提交所有代码,大多数时候都是因为他出的事故。

    在还有一点就是不要用a,b,c做变量名,这真的很重要。

    2023-09-19 20:55:13
    赞同 3 展开评论 打赏
  • never say never~

    一定要写注释!!!
    不写注释最让人头疼!!!

    2023-09-19 17:40:47
    赞同 2 展开评论 打赏
  • 你觉得哪些不规范的编程行为最让人头疼?
    1缺乏注释和文档:编写缺乏注释和文档的代码会给其他人阅读和理解代码带来困难。良好的注释和清晰的文档可以帮助团队成员更好地理解代码的意图和功能。
    2长而复杂的函数和方法:长而复杂的函数或方法难以理解和维护。拆分功能,并使用适当的命名和代码结构,可以提高代码的可读性和可维护性。

    2023-09-19 15:07:54
    赞同 2 展开评论 打赏
  • 以下是一些常见的编程“码德”:

    • 诚实和诚信:程序员应该诚实地报告工作进展和问题,不夸大或隐瞒信息,以保持透明和可信赖。
    • 隐私保护:程序员应该尊重用户和客户的隐私,不滥用他们的数据或信息。
    • 知识共享:分享知识、经验和开源项目是社区的一部分,程序员应该积极参与和贡献。
    • 质量和可维护性:编写高质量、可维护的代码,以确保系统的稳定性和可持续性。
    • 安全性:程序员应该关注安全问题,不编写有安全漏洞的代码,并积极响应已知的安全威胁。
    • 合法性:不从事非法活动,如盗版软件、黑客攻击等。
    • 多元和包容:尊重和欣赏不同文化、性别、种族和背景的多样性。
    • 专业发展:不断学习和提升自己的技能,保持对新技术和最佳实践的关注。

    不规范的编程行为会导致代码难以理解、维护和扩展,给其他程序员带来很大的麻烦:

    • 命名不规范:变量、函数、类等使用无意义的名称,或者使用缩写、简写等不易理解的名称。
    • 代码混乱:代码没有按照一定的结构组织,导致代码难以阅读和理解。
    • 缺乏注释:代码中缺乏适当的注释,导致其他程序员难以理解代码的目的和功能。
    • 异常处理不当:代码没有考虑异常情况的处理,导致程序崩溃或出现不可预料的结果。
    • 代码重复:代码中存在大量的重复代码,导致代码难以维护和扩展。
    • 代码质量差:代码存在大量的bug和错误,导致程序难以正常运行。
    • 缺乏代码测试:代码没有经过充分的测试,导致程序存在大量的问题和缺陷。
    • 缺乏版本控制:代码没有使用版本控制工具进行管理,导致代码难以管理和协作开发。
    2023-09-19 14:37:17
    赞同 3 展开评论 打赏
  • 1.认真写好注释
    2.命名一定要规范
    3.千万别冗余的代码写一大堆
    4.代码审核或者技术交流时要谨慎发言,不要一副高高在上的样子,别人给你看代码相当于脱了裤子了,吸取长处不要贬低他人

    2023-09-19 14:29:48
    赞同 2 展开评论 打赏
  • 一个九年资深的程序员,擅长数据库、Java、C#、系统运维、电脑技巧等方面知识,阿里云专家博主、C站站优质博主、公众号运营超五年,热爱分享IT技术相关技术文章,给大家提供帮助!

    程序员的码德个人总结以下几点:

    1、不抄袭别的的代码作为自己的原创作品
    2、写代码不留后门
    3、不做删除跑路的事情
    4、遵纪守法,不利用程序员技能做不道德的事情
    5、不对别人的代码评头论足
    6、乐于助人、乐于分享
    7、等等

    2023-09-19 13:25:02
    赞同 1 展开评论 打赏
  • 实际上所谓的“码德”,无非就是一些基本道德常识的延生罢了。所有的基本道德,大多数人在幼儿园都已经学到过,只需要在工作上表达出来就行。我观察有以下几个(non-inclusive)1. 追求协同协同是代码库的本质。如果没有协同的话,直接用带磁的小刀在硬盘上刻出天书就行了。在协同的原则下,有可读变量名,良好的注释等等代码层面的东西,也包括送出代码审查前充分沟通等等一些基本的礼仪。为了协同,不要追求花哨的技巧,因为花哨技巧需要更多的时间去理解和沟通。这方最好的书是 "The Elements of Programming Style",可惜已经绝版。2. 诚实我以前遇到的一些程序员技术不错,但总不愿意承认有些代码设计上的缺陷,或者拒绝其他人在自己代码上得改进。在我看来这是不诚实的。还有一些程序员喜欢说“或许”,而不想诚实的承认自己不知道。要知道“或许”可能会把决策者带到沟里面。诚实这一点许多人从幼儿园开始就做不到,当了程序员也做不到。3. 接受现实(或者说接受代码无常这个现实)世界总是在变的,代码也是。为了对付这种变化,文档不求详细但要和代码同步,测试不求覆盖多么高但关键的测试要有。Bug 来了第一反应不是否认或者说这个问题肯定和我无关等等。做到了以上三点的,一定是德艺双馨的。我常常看到有些程序员职业生涯遇到瓶颈,不是智商不高不能在技术上更上一层,而是道德不能支撑更高技术岗位的要求。

    2023-09-19 11:52:39
    赞同 3 展开评论 打赏
滑动查看更多
问答分类:
问答地址:

话题讨论榜

  • 1
    99元云服务器,你最pick哪种新玩法?
    奖品池:4000积分,天猫精灵*10,鼠标垫*100
    184

    1、如果您目前正使用着99元套餐的ECS实例,能否分享一下您是如何使用它的? 由于我日常工作需要的都不仅是单实例环境,基本都是集群,所以目前暂没有购买99元的优惠套餐。但作为长期使用ECS的我来说,倒是可以分享几点有关ECS使用的小技巧。 (1)如果你是第一次使用ECS,那云起实验室的诸多实验还是非常值得哪来练手熟悉产品的。你只需要在云产品中选择弹性计算即可,如下图: 每一个实验都有非常详细...

  • 2
    聊聊哪些科幻电影中的家居技术你最希望成为现实?
    奖品池:4000积分,云小宝鼠标垫*6
    99

    你最希望哪些科幻的家居技术走进日常生活? 这款智能家居系统包含多种高科技元素,例如通过语音控制的智能助理,可以轻松操控家中的各种设备。体感投影技术让你能够通过简单的手势或动作来完成诸如查看厨房信息、播放音乐甚至是管理衣橱等任务。智能温控系统能根据您的偏好自动调节室内的温度和湿度。家庭机器人则可以帮助您处理日常家务,比如打扫卫生和烹饪食物,为您节省更多宝贵的时间。此外,该系统还采用了模拟自然空...

  • 3
    听了那么多职业建议,你觉得最有用的是什么?
    奖品池:4000积分,办公腰靠*6
    110

    分享你认为对你的职业规划和成长影响最深远职业建议? 在日新月异的职业环境中,灵活应变能力尤为重要。 需设定明确的职业目标,敢于创新实践,善于从挫败中吸取经验,并经常进行自我审视,明白自己的长处与短处,积极寻求意见来进行自我提升。 此外,保持真诚可信,致力于为他人带来价值,这有助于你建立良好的个人信誉。 不断学习新知精进自己,构建并维持广泛的人际网络,这些均是达成职业成就的关键所在。

  • 4
    100%打赢人类新手,乒乓球机器人靠谱吗?
    奖品池:4000积分,蓝牙迷你音箱*4
    125

    机器人可以在特定的场景帮助人们进行练习。但是机器人与人的区别就是在与人的善变、不可控。

  • 5
    大型AI模型如何跨越“专门化智能”的局限?
    奖品池:4000积分,折叠风扇*5
    100

    大型AI模型如何跨越“专门化智能”的局限? 如何让大型AI模型从专注于特定任务迈向全面智能体,这是一个既诱人又具挑战性的课题。 虽然现有的大型语言模型已经在某些特定任务中展现出显著能力,但从专精转向全能仍然需要克服诸多复杂的难题。 未来的模型将聚焦多模态学习,整合文本、图像、音频及视频等多种信息形态,实现更全面的世界认知。同时,强调持续学习,使模型能随时间推移和环境变化不断优化。通过迁移学习...

  • 相关电子书

    更多
    低代码开发师(初级)实战教程 立即下载
    冬季实战营第三期:MySQL数据库进阶实战 立即下载
    阿里巴巴DevOps 最佳实践手册 立即下载