写点什么

写代码过程中最忌讳什么?

作者:Jackpop
  • 2022 年 6 月 15 日
  • 本文字数:2188 字

    阅读完需:约 7 分钟

根据自己几年的血泪教训,总结了 6 条写代码过程中最忌讳的问题,相信绝大多数刚接触编程的同学都会犯同样的问题!

1. 添加太多特性

有多少次你通过考虑所有的”可能性“而使一个故事需求过度复杂化?

如果你正在开发的 API 可以被设计成与其他平台无缝集成呢?如果你的仪表板可以发送自动报告呢?

抵制这种行为,不要过度设计它。

你不应该在未来太过超前的功能上花费大量的时间。而且,更多的代码意味着更多的 bug 和不必要的脚本会增加应用程序的臃肿。

理解你的代码和添加新的特性也会更加复杂。

为了避免这种情况,要不断问自己,你的代码是否解决了具体的需求。

确保你想清楚用例和边缘案例,但不要在一个你可以更快上线的功能上花费数周时间。

如果你对添加一个有可能解决极端用例的功能感到困惑,在下一次版本迭代上提出来。

你将会节省大量的时间,并且你将会建立起你自己作为一个团队成员的形象。

2. 重复写同样的脚本

作为一名软件工程师,你应该遵循 DRY(Don't Repeat Yourself)原则来提高工作效率。

这可以通过两种方式实现:消除代码中的冗余,或简化开发流程。

让我们看看如何解决这两种情况。

代码中的冗余

设置一个服务器,甚至一个虚拟环境,需要多次编写相同的脚本和动作。

你要用几乎相同的步骤和代码建立你的 3 层开发架构,包括开发、测试、生产。

除此之外,管理基础设施的依赖性也变得越来越复杂。

这不仅是重复和枯燥的,而且手动操作也让你容易出现人为错误。

低代码平台通过可重用的基于抽象的组件和可视化的拖放界面,开箱即有这种功能。

当然,你不会为每个场景找到一键式解决方案,但你会有最基本、可重复的解决方案。自动管道将帮助你为你需要的许多环境构建、复制和扩展代码。

流程中的冗余

清楚地勾勒出你在开发过程中的步骤数量,并思考如何减少这些步骤。

在这里,自动化能够提供有效帮助。

另外,留意那些你最终执行了两次以上的过程。制定一个自动化序列,每次你想做这个任务的时候都可以触发,你会从中受益。

不过,在你进行自动化之前,一定要注意时间上的权衡。

在实现自动化之前要问自己一些问题”如果我把它自动化,会比我做这个任务节省更多时间吗?在接下来的几周内,我是否会定期做这件事?“

如果答案是肯定的,就把它自动化。

3. 从零开始建立系统

如果一个开发者每次建立网络应用时都要对 JDBC 数据库连接进行自定义编码,那么完成一个项目就需要很长时间。

开发可维护和安全的软件应该是你的首要任务。

然而,这并不意味着从头开始构建系统。

你不需要重新从零开始造轮子、重建已经存在的功能。

公司想要高效的工作,而你花在从头开始构建系统上的时间,在大多数情况下是多余的。

因此,取而代之的是,通过使用成熟的框架,根据客户的需求进行定制。

另外,检查公司代码库。如果该工具现有的功能与分配给你的功能重叠,最好检查一下函数调用是否可以提供你所需要的数据,或者是否可以整合。

然而,当处理机密数据如财务,或健康记录时,从头开始建立功能以加强安全是有意义的。但在大多数情况下,框架、知名的开源库可以完美地完成工作。

4. 糟糕的测试策略

在选择自动化和人工测试时,你必须注意一个微妙的平衡。

因此,让我们了解一下,作为一个软件工程师,你如何利用这一点来制定一个有效的测试策略。

写一个小的手动测试来确保你添加的新功能工作正常是很容易的。

但是,当你扩大规模时,运行这些手动测试需要更多的时间,特别是当你试图找到那个讨厌的 bug,不断破坏你的代码。

你需要花更多的时间来设置你的自动化测试。不过,一旦它们被写好,它们就可以被重复使用。因此,你不必因为增加了一个新的功能就手动重新测试以前的功能。

反过来说,选择正确的任务来实现自动化也同样重要。不幸的是,这是 QA 自动化测试中最常见的错误之一。

但是,不要陷入过度自动化的陷阱,最终把测试任务做的本需求本身还要复杂。

5. 不正确的代码优化

这是一种相当常见浪费时间点,通常很难从一开始就发现。

你花了很多时间来优化那些不是优先级的场景,甚至可能不需要的代码。

你首要的关注点应该是让功能发挥作用,然后再考虑优化问题。

而且,优化的决定通常是基于具体情况的。

如果这个性能优化只需要几分钟,那就做吧。如果你要花几个小时来获得 1%的性能增量,最好先慎重讨论一下。

例如,让我们假设你正在为一个内部团队开发一个网页。如果网站在一秒内成功加载,使用者并非迫切需要在 0.5 秒内加载,而且,这并不能显著改善业务运营。那就没有必要花费太多精力进行优化。如果它是一个电子商务商店,一秒钟或者两秒钟加载对用户体验影响较为突出,那么,它就成了一个功能需求点,需要着重优化。

6. 低效的沟通

低效的沟通是造成软件开发中许多时间浪费的直接原因。

沟通是至关重要的,尤其是在开发和过渡阶段。

假设出现这样的情况:开发人员对业务需求有误。

这种沟通上的差距会使解决方案过于复杂,导致技术上的错误,并增强出现错误或返工的机会。

由于沟通是软件开发中最人性化的方面,这种时间上的浪费是无法完全消除的。

然而,有了适当的项目管理工具和协作环境,它肯定可以被减少。

就个人而言,在开会或开发一个功能时,总是考虑到大局。学会倾听和有效协作。养成写下或发送会议讨论内容纪要的习惯,以明确双方的期望。

另外,要尽早沟通,而不是拖延。


hello,大家好,我是 Jackpop,硕士毕业于哈尔滨工业大学,曾在华为、阿里等大厂工作,如果你对升学、就业、技术提升等有疑惑,不妨交个朋友:


我是Jackpop,我们交个朋友吧!

发布于: 刚刚阅读数: 4
用户头像

Jackpop

关注

还未添加个人签名 2020.09.16 加入

公众号:平凡而诗意,微信:code_7steps,全网粉丝超20万,技术进阶、优质资源、实用工具,欢迎关注!

评论

发布
暂无评论
写代码过程中最忌讳什么?_Jackpop_InfoQ写作社区