想预防屎山代码,从这件事做起!_世界热闻

最近在利用业余时间开发新网站,在做网站的过程中呢,用到了很多开发、做项目的小技巧,准备后面通过文章的形式陆续分享给大家~

今天呢,咱们先来学习一个预防屎山代码的小技巧,也是项目开发中 必须要做的事情


(资料图)

屎山代码虽然听起来很恶心,但没关系,它看起来更恶心!如果项目的代码量大、结构杂乱、逻辑复杂、难以理解、且很难开发新功能和维护,那么就把它成为屎山。

以前在学校独立开发项目的时候我还不理解为什么会有屎山,直到工作后看过很多项目、和不同的人合作过,我才发现其实项目代码杂乱是很正常的。

究其原因,主要是有几点:

没有人定制统一的规范,大家各写各的,自己怎么舒服怎么写
有时需求太紧急,大家也不管什么规范不规范了,代码能跑就行
项目周期太长,需求不断堆砌、又没有人牵头重构,自然就越来越难维护

其中,我认为第一点是最重要最重要的,这也是为什么在团队开发中,往往需要一个技术 Leader 或者架构师,需要有人来定制规范,保证项目的顺利推进。

虽然我们未必是架构师,但是也一定要学会定制和遵守规范。开发规范又分为很多,命名规范、接口规范、数据库操作规范等等,这些大家可以看《阿里巴巴 Java 规约》、Google Code Style 来学习。

而今天我要分享的技巧是 统一口径,我认为这是预防屎山代码的关键!

统一口径

统一口径是指,代码中同一个变量或字段的 名称、类型、含义和注释等保持一致。

举一些例子:

统一名称:数据库中有个字段名称叫 username,那么后端属性名称也要是 username、前端 js 变量名称也要是 username,错一个字母、换一个大小写(userName)、多一个符号(user_name)都不行!
统一类型:数据表 A 中 userId 类型为 bigint,数据表 B 中的 userId 类型也要为 bigint,而不能是 int 或者 varchar。
统一含义:某项目组下有 2 个项目,项目 A 中的 username 表示用户昵称,项目 B 的 username 也要是用户昵称,而不是真实姓名。
统一注释:每个文件开头都要声明作者、类的作用、需求文档等,而不是什么都不写,或者各写各的。此外,同一个字段的中文名称和枚举值也要保持一致,不能说数据库的注释中,字段名叫 “用户名”,代码的注释中,字段名叫 “昵称”,细微的差别都有可能导致理解的偏差。

像我自己做业余项目时一般都是全栈开发,前端、后端、数据库设计啥的都是自己做,所以深知这点很重要。

统一口径后,不仅能减少很多莫名其妙的小 bug,也能大幅减少沟通的成本,而且还能更精准地全局替换,甚至能够配合一些工具自动生成所有代码!

所以越重要的项目,起变量名、设计库表的时候就越要三思而后行。

当然,在团队开发中,统一口径也是有一定难度的,所以建议是配合一些独立于项目之外的文档来便于大家集中参考查阅(比如每个业务对应的字段、字段含义等等,随时记录完善),尽量保证团队内部信息的公开透明。

尾声

听到写文档,有些同学可能又觉得有点麻烦了,还不如想怎么写怎么写,怎么舒服怎么来对吧。

当然,这个想法也是正确的。是否要遵守规范、规范要严格到什么程度,一定是要根据具体的项目来看。一个十几行代码的小算法可能你 abcdefg 命名也合理;但从我自己在大厂的经验来看,如果一个项目打算长期维护(比如半年以上),那么统一口径、沉淀文档一定是必要的,不然迟早有天你会被自己的屎山淹没。


欢迎学编程的朋友们加入鱼皮的 ,我会 1 对 1 回答您的问题、直播带你做出项目(已有 50 多期直播可回看)、为你定制学习计划和求职指导,还能获取海量编程学习资源,和上万名学编程的同学共享知识、交流进步。

可以加微信 yupi1085,备注【加入星球】和自己的情况领取优惠加入星球,不备注不通过,非诚勿扰谢谢。

往期推荐

关键词: 统一口径 觉得有点 阿里巴巴

推荐DIY文章
主机存在磨损或划痕风险 PICO4便携包宣布召回
穿越湖海!特斯拉Cybertruck电动皮卡可以当“船”用
vivoXFold+折叠旗舰开售 配备蔡司全焦段旗舰四摄
飞凡R7正式上市 全系标配换电架构
中兴Axon30S开售 拥有黑色蓝色两款配色
荣耀MagicBookV14 2022正式开售 搭载TOF传感器
it