开发者社区> 问答> 正文

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

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 4606 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
    AI客服未来会完全代替人工吗?
    奖品池:4000积分,折叠桌*5
    57

    生活中与AI客服的“沟通”场景 在日常生活中,我与AI客服的“沟通”主要发生在以下几个场景: 电商平台:在购物网站上,当我对商品有疑问或需要售后服务时,经常会首先尝试与AI客服进行交互。它们通常能够迅速提供常见问题的答案,如退换货政策、商品规格等。 银行服务:在办理银行业务时,如查询账户余额、转账等,我也会选择使用AI客服进行自助服务。这些服务通常通过银行的手机应用或网站提供,方便快捷。 电...

  • 2
    FFA 2024 大会门票免费送!AI时代下大数据技术未来路在何方?
    奖品池:4000积分,咖啡杯*5,FFA大会电子票*25
    58

    我想到现场 Apache Flink是一个开源的流处理框架。作为开源的业界顶级的流处理框架,Flink被众多的开发者和企业所青睐。也给企业在商业上的应用创造了很大的价值。 阿里云实时计算Flink版是依托阿里云提供的云服务的扩展版本,不仅让Flink的使用变得方便和快捷,还对Apache Flink框架保留了兼容性,可谓是业界良心产品。 阿里云提供的全托管Serverless Flink云服...

  • 3
    AI宠物更适合当代年轻人的陪伴需求吗?
    奖品池:4000积分,音箱闹钟*3
    53

    对于是否选择“养”一只AI宠物及AI宠物能否满足陪伴需求的探讨 一、个人选择 对于是否选择“养”一只AI宠物,这主要取决于个人的喜好、生活方式以及对于宠物的定义和期待。对于一些人来说,AI宠物可能提供了一种新颖、便捷且低维护成本的陪伴方式。它们不需要实际的喂食、清洁或遛弯,却能通过预设的程序和算法与用户进行互动,甚至在某些情况下模拟出类似真实宠物的行为和情感反应。 然而,对于另一些人来说,A...

  • 4
    “云+AI”能够孵化出多少可能?
    奖品池:4000积分,小怪兽靠垫*4
    57

    1、云计算将朝着哪个方向进化? 云计算作为IT产业的底座,正深刻地影响着人类社会的发展。随着数字化趋势的不断深入,云计算将朝着以下几个方向进化: 成为数字化、智能化转型不可或缺的基础设施:云计算将为AI大模型的训练和应用提供强大的算力支持,成为孕育新技术、新应用的重要平台。随着AI的蓬勃发展,云计算市场将迎来新一轮增长。预计2027年全球云计算市场将突破万亿美元,而我国云计算市场也将突破2....

  • 5
    AI助力,短剧迎来创新热潮?
    奖品池:4000积分,保温杯*3
    75

    期待Ai改变生活

  • 相关电子书

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