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

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

1、程序员有哪些约定俗成的“码徳”?

接口的抽象定义:

在写代码之前需要进行功能设计、详细设计,这个时候就要面向接口编程,把功能抽象为具体的接口。请求参数与响应参数的数据接口是约定好的,这样别人在阅读这段代码的时候就比较清楚;

注释清晰明确:

每个类都要进行清晰的代码注释,比如说该类的功能是什么、谁写的代码、时间等等。这个都是项目小组约定俗称的,也是程序员要遵守的;一旦该功能被其他人维护的时候,就能快速的明白该类的什么、实现了什么样的功能;

代码规范:

定义变量、方法名称的定义一定不能随意的命名,明令禁止的是魔法值的定义,比如说,定义了一个变量a、变量b、变量c这类定义是不允许的;方法的长度限制,如果一个函数有5000行代码,那么这个代码可以说是代码中的“屎山”,又臭又长,没有人能够维护的,还有就是一些功能使用的规范了,这个可以参考阿里巴巴的代码规范;

代码的具体实现逻辑清晰:

代码的逻辑,代码有两种逻辑,一种是业务逻辑,这种逻辑是真正的业务处理逻辑;另外一种是控制逻辑,这种逻辑只是控制程序流转的,比如说异步控制、控制变量、多线程处理等等;这两种逻辑要分开,很多代码之所以混乱就是这两种逻辑糅合在了一起导致的。


2、你觉得哪些不规范的编程行为最让人头疼?

命名规范的问题:

代码中的变量随意的进行命名,一些命名完全看不到定义的作用是什么,比如说一个变量a、变量b、变量c,最后进行这两个变量的计算;

代码长度的问题:

一个接口的实现方法超过了500行,就很难让人读懂了。如果一个代码过长的话,就很让人有读下去的想法,也很难维护,看别人的代码能让人看吐,这个真不是说说的;

逻辑流水账的写法:

一个代码的好坏,通过接口就能看出来,这个业务的功能大概有多少;接口的划分很重要,单一原则,依赖倒置原则、开闭原则这些都是开发者的宝典,要反复的阅读;如果一个功能就两个方法,每个方法内实现了多个功能就很有问题了,这些就违反了设计原则。这个也是程序员最应该遵守的。


最后:

推荐阅读,23种设计模式、代码的坏味道,程序员的自我修养。希望每个人不仅仅是码农,也能是工程师,不仅仅会写增删改查,也能做大型工业软件的核心功能逻辑;定义规范、写出好的代码,人人为我,我为人人。


相关文章
|
6月前
|
人工智能 程序员 知识图谱
程序员-你得把自己卖出去
程序员-你得把自己卖出去
|
程序员 开发者
只有程序员才能懂的暗号是什么?
俗话说:隔行如隔山,如何用一句话不露痕迹地向别人展示自己程序员的身份呢?众所周知,程序员这个职业并不是像医生、律师、老师等职业那样被大家广泛认知和了解的。在社交场合中,我们常常需要向别人说明自己的职业身份,而这时候,如果能够使用一些行业黑话或者暗号,就可以更加自然地向别人展示自己的程序员身份。那么接下来就来简单聊一下。
203 0
只有程序员才能懂的暗号是什么?
|
程序员
程序员防脱发指南
但自从入了互联网这一行,我的衣柜从花花绿绿,到清一色的黑白灰加格子衫,常年不换的人字拖和NB鞋,我再也没有专门搭配衣服。 完美get到了互联网人穿衣风格得精髓。 那就是: 屌丝 没有风格 。
程序员防脱发指南
|
程序员 开发者 iOS开发
30岁以上的程序员该如何自处?
程序员30岁以上,是可以继续技术生涯的. 我身边有很多邻近50+,还在做技术. 如果你喜欢做技术,又能扛得住环境的噪音, 年龄其实不是问题. 遗憾的是,其实很多人并不喜欢软件开发这条技术路, 心里早已存在干几年就要转型的念头, 于是总是容易被外界喧嚣推动的左右摇摆.
1279 0
|
程序员 测试技术 开发工具
做一个有品位的程序员
参见百湖培训之前,华为的一个小伙伴发现了Git实现的一个 Bug,给我发了一个 Pull Request,让我审核以及代发到 Git 社区。不用看代码,只看 Pull Request 的说明,我相信大家就可以闻到这是一个好代码,写代码的人有品味。 参见:https://github.com/jiangxin/git/pull/25 —— 问:“能够写出正确代码的程序员就是有品味的程序员
1127 0
|
架构师 Java 程序员
我女朋友是个程序员
呃。。。开新坑了。神秘的程序员和他/她的家属们的日常系列。这个系列主要是一些比较轻松的中短篇幅故事。 说到这里,也给大家推荐一个架构交流学习群:614478470,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。
957 0
|
架构师 Java 程序员
成为优秀的程序员需要知道的8件事
1. 自我完善 尽量发布可以运行的代码。不要指望 QA 能给你找出所有的程序错误。要经常并且全面深入地测试你的代码,不断找出可以完善的方法。 2. 公平竞争 尝试其他技术、框架、方法和观点。
1029 0
|
程序员
为什么越来越多的人不愿意做程序员?
为什么越来越多的人不愿意做程序员?
3138 0
|
测试技术 程序员
|
安全 Unix Linux

相关实验场景

更多