IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 感觉要起飞,终于找到开发效率低的原因.... -> 正文阅读

[系统运维]感觉要起飞,终于找到开发效率低的原因....

程序员宝藏库https://github.com/Jackpopc/CS-Books-Store

有效的时间管理是大多数成功的软件工程师都具备的技能。

它可以帮助你在职业生涯中快速提升,而不必在冲刺期限前要长时间、高强度工作。

每个组织都在试图通过自动化管道、增强的IDE和DevOps来减少浪费和提高生产力。

通过避免这6大时间浪费,走在曲线的前面,使你的一天更有成效。

1. 添加太多特性

img

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

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

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

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

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

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

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

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

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

2. 重复写同样的脚本

img

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

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

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

代码中的冗余

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

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

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

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

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

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

流程中的冗余

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

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

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

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

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

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

3. 从零开始建立系统

img

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

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

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

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

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

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

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

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

4. 糟糕的测试策略

img

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

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

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

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

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

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

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

5. 不正确的代码优化

img

img

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

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

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

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

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

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

6. 低效的沟通

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

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

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

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

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

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

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

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

结语

上述提到的6点,只能在短期内提升你的生产力。

但良好的编码实践和自我意识将帮助你变得更有效率。

注意你的时间花得最多的地方,试着减少它,你就会在成为一个成功的软件工程师的道路上走得更远!

大家好,我是Jackpop!我花费了半个月的时间把这几年来收集的各种技术干货整理到一起,其中内容包括但不限于Python、机器学习、深度学习、计算机视觉、推荐系统、Linux、工程化、Java,内容多达5T+,获取方式:技术干货_免费高速下载|百度网盘-分享无限制(提取码:0000)

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-10 12:49:03  更:2021-11-10 12:50:24 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码