前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何写好业务代码?

如何写好业务代码?

作者头像
陶朱公Boy
发布2023-12-04 20:10:56
2650
发布2023-12-04 20:10:56
举报

前言

知乎上有一个提问:如何写好业务代码?

↓↓↓

今天,我们就这个话题一起来做个讨论。

我的回答

关于写业务代码这件事,个人觉得,当你理清产品的需求点后,往往不会太难,很多时候剩下的是一些CRUD工作,等我们写完代码,完成自测,然后和相关对象(比如前端或相关依赖方)联调通过后,就可以走提测环节了。

那话说回来,提问的问题是如何写好业务代码,那和我上文说的写完业务代码有什么区别呢?

由于提问的小伙伴并没阐述清楚对这个“好”字的语意,在这里,我先根据自己的理解,给它下个定义。

好的第一层语义是保证代码质量。我刚才就说了,写完代码很容易,但你写的代码怎么保证不容易出错,上线后基本没bug,这就体现了一个程序员的编码水平了。

好的第二层语义是确保你编写的代码具备可扩展、可维护性。

特别是当你面对复杂性极高的业务需求的时候,太多的if- else条件判断,太多的状态代码,如果你采用事务脚本模式来写代码,很容易一个类、一个方法几百上千行代码,所有逻辑黏在一起,代码美感不说,其复用性变得极其低下、不易扩展与维护,甚至一处代码的改动会产生连锁效应,其他功能跟着受影响。

事务脚本模式:传统的MVC组织架构,业务类方法没有任何状态,所有逻辑都封装在方法内部,进行各种计算、组装

就这样开发持续在里面堆代码,时间长了,连自己都不敢动原来的代码。

一旦他离职,交接的新手更不敢动,那怎么办呢?很多人为了保证自己的改动不会影响其他功能,他会选择重载一份原来的代码,然后在新方法里面新增业务代码,就这样长此以往,屎山代码终成。

OK,那有什么方法能写出所谓的好的代码呢?

在这里,我结合自己超过八年在一线互联网公司的编程经验,深度总结了如下11个方法,是我认为可以帮助你写好业务代码的:

1.详细设计:我曾经不止一次强调,详细设计对于我们编程的重要性。尤其是如果你做的需求估时在3天及以上,那我强烈建议你先不要着急着编码,一定要先认真写一份详细设计文档(可以画一下业务逻辑架构图、UML图、ER图等来辅助我们理清待开发的业务需求)

它能帮助我们,及时发现潜在的风险点、难点,然后在评审会议上,我们一一与团队小伙伴展开充分讨论,将最终方案确定下来。

只有这样,你编写的代码,方向才是正确的,没有后顾之忧的,更不会后期返工。

2.遵循编码规范:使用一致的编码规范,确保整个团队都采用相同的标准。这有助于提高代码的一致性和可读性。

3.模块化设计:将代码划分为小的、独立的模块,每个模块负责一个明确的功能。模块化设计有助于提高可维护性和可扩展性。

4.清晰的命名和注释:使用有意义的变量和函数命名,以及清晰的注释,帮助他人理解代码的意图。避免使用模糊或缩写的命名。

5.错误处理和日志:添加适当的错误处理机制,以便及时捕获和处理潜在的问题。同时,使用日志记录系统,有助于在出现问题时进行故障排除。

6.单一职责原则:每个函数或类应该有一个单一的职责。这有助于代码的清晰度和可测试性。

7.测试驱动开发(TDD):使用测试驱动开发的方法,先编写测试用例,然后编写代码以满足测试。这有助于确保代码的质量和稳定性。

8.版本控制:使用版本控制系统,例如Git,来追踪代码的变化,方便团队合作和回滚到先前的稳定版本。

9.性能优化:在设计阶段考虑性能,并使用合适的数据结构和算法。进行性能测试,并优化关键路径,以确保系统具有足够的响应速度。

10.代码复审(简称CR):实施代码复审机制,通过团队内的同事对代码进行检查,以发现潜在问题并提供改进建议。

11.学习和不断改进:关注行业最佳实践,参与培训和社区讨论。不断学习新的技术和工具,以不断提升自己和团队的水平

OK,接下来,分享一则某大厂一个资深架构师关于这个问题的精彩答复,灰常精彩,一定看到最后哦!

知友作答

写到最后

感谢您一路陪伴着我,探索编程的奇妙世界。如果您对程序员日常趣事、编程技巧和技术干货等充满兴趣,那么不要错过未来我为大家奉上的精彩内容!点击关注,让您的程序员之旅更加丰富多彩,我们一同成长,一同前行!🚀

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-12-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 陶朱公Boy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 我的回答
  • 知友作答
    • 写到最后
    相关产品与服务
    腾讯云服务器利旧
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档