| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 感觉要起飞,终于找到开发效率低的原因.... -> 正文阅读 |
|
[系统运维]感觉要起飞,终于找到开发效率低的原因.... |
有效的时间管理是大多数成功的软件工程师都具备的技能。 它可以帮助你在职业生涯中快速提升,而不必在冲刺期限前要长时间、高强度工作。 每个组织都在试图通过自动化管道、增强的IDE和DevOps来减少浪费和提高生产力。 通过避免这6大时间浪费,走在曲线的前面,使你的一天更有成效。 1. 添加太多特性有多少次你通过考虑所有的”可能性“而使一个故事需求过度复杂化? 如果你正在开发的API可以被设计成与其他平台无缝集成呢?如果你的仪表板可以发送自动报告呢? 抵制这种行为,不要过度设计它。 你不应该在未来太过超前的功能上花费大量的时间。而且,更多的代码意味着更多的bug和不必要的脚本会增加应用程序的臃肿。 理解你的代码和添加新的特性也会更加复杂。 为了避免这种情况,要不断问自己,你的代码是否解决了具体的需求。 确保你想清楚用例和边缘案例,但不要在一个你可以更快上线的功能上花费数周时间。 如果你对添加一个有可能解决极端用例的功能感到困惑,在下一次版本迭代上提出来。 你将会节省大量的时间,并且你将会建立起你自己作为一个团队成员的形象。 2. 重复写同样的脚本作为一名软件工程师,你应该遵循DRY(Don't Repeat Yourself)原则来提高工作效率。 这可以通过两种方式实现:消除代码中的冗余,或简化开发流程。 让我们看看如何解决这两种情况。 代码中的冗余 设置一个服务器,甚至一个虚拟环境,需要多次编写相同的脚本和动作。 你要用几乎相同的步骤和代码建立你的3层开发架构,包括开发、测试、生产。 除此之外,管理基础设施的依赖性也变得越来越复杂。 这不仅是重复和枯燥的,而且手动操作也让你容易出现人为错误。 低代码平台通过可重用的基于抽象的组件和可视化的拖放界面,开箱即有这种功能。 当然,你不会为每个场景找到一键式解决方案,但你会有最基本、可重复的解决方案。自动管道将帮助你为你需要的许多环境构建、复制和扩展代码。 流程中的冗余 清楚地勾勒出你在开发过程中的步骤数量,并思考如何减少这些步骤。 在这里,自动化能够提供有效帮助。 另外,留意那些你最终执行了两次以上的过程。制定一个自动化序列,每次你想做这个任务的时候都可以触发,你会从中受益。 不过,在你进行自动化之前,一定要注意时间上的权衡。 在实现自动化之前要问自己一些问题”如果我把它自动化,会比我做这个任务节省更多时间吗?在接下来的几周内,我是否会定期做这件事?“ 如果答案是肯定的,就把它自动化。 3. 从零开始建立系统如果一个开发者每次建立网络应用时都要对JDBC数据库连接进行自定义编码,那么完成一个项目就需要很长时间。 开发可维护和安全的软件应该是你的首要任务。 然而,这并不意味着从头开始构建系统。 你不需要重新从零开始造轮子、重建已经存在的功能。 公司想要高效的工作,而你花在从头开始构建系统上的时间,在大多数情况下是多余的。 因此,取而代之的是,通过使用成熟的框架,根据客户的需求进行定制。 另外,检查公司代码库。如果该工具现有的功能与分配给你的功能重叠,最好检查一下函数调用是否可以提供你所需要的数据,或者是否可以整合。 然而,当处理机密数据如财务,或健康记录时,从头开始建立功能以加强安全是有意义的。但在大多数情况下,框架、知名的开源库可以完美地完成工作。 4. 糟糕的测试策略在选择自动化和人工测试时,你必须注意一个微妙的平衡。 因此,让我们了解一下,作为一个软件工程师,你如何利用这一点来制定一个有效的测试策略。 写一个小的手动测试来确保你添加的新功能工作正常是很容易的。 但是,当你扩大规模时,运行这些手动测试需要更多的时间,特别是当你试图找到那个讨厌的bug,不断破坏你的代码。 你需要花更多的时间来设置你的自动化测试。不过,一旦它们被写好,它们就可以被重复使用。因此,你不必因为增加了一个新的功能就手动重新测试以前的功能。 反过来说,选择正确的任务来实现自动化也同样重要。不幸的是,这是QA自动化测试中最常见的错误之一。 但是,不要陷入过度自动化的陷阱,最终把测试任务做的本需求本身还要复杂。 5. 不正确的代码优化这是一种相当常见浪费时间点,通常很难从一开始就发现。 你花了很多时间来优化那些不是优先级的场景,甚至可能不需要的代码。 你首要的关注点应该是让功能发挥作用,然后再考虑优化问题。 而且,优化的决定通常是基于具体情况的。 如果这个性能优化只需要几分钟,那就做吧。如果你要花几个小时来获得1%的性能增量,最好先慎重讨论一下。 例如,让我们假设你正在为一个内部团队开发一个网页。如果网站在一秒内成功加载,使用者并非迫切需要在0.5秒内加载,而且,这并不能显著改善业务运营。那就没有必要花费太多精力进行优化。如果它是一个电子商务商店,一秒钟或者两秒钟加载对用户体验影响较为突出,那么,它就成了一个功能需求点,需要着重优化。 6. 低效的沟通低效的沟通是造成软件开发中许多时间浪费的直接原因。 沟通是至关重要的,尤其是在开发和过渡阶段。 假设出现这样的情况:开发人员对业务需求有误。 这种沟通上的差距会使解决方案过于复杂,导致技术上的错误,并增强出现错误或返工的机会。 由于沟通是软件开发中最人性化的方面,这种时间上的浪费是无法完全消除的。 然而,有了适当的项目管理工具和协作环境,它肯定可以被减少。 就个人而言,在开会或开发一个功能时,总是考虑到大局。学会倾听和有效协作。养成写下或发送会议讨论内容纪要的习惯,以明确双方的期望。 另外,要尽早沟通,而不是拖延。 结语上述提到的6点,只能在短期内提升你的生产力。 但良好的编码实践和自我意识将帮助你变得更有效率。 注意你的时间花得最多的地方,试着减少它,你就会在成为一个成功的软件工程师的道路上走得更远!
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 22:53:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |