JavaRush /Java 博客 /Random-ZH /茶歇 #19:提高开发人员工作效率的 9 个工具。如果你是一个平庸的程序员该怎么办?

茶歇 #19:提高开发人员工作效率的 9 个工具。如果你是一个平庸的程序员该怎么办?

已在 Random-ZH 群组中发布

提高开发人员工作效率的 9 个优秀工具

来源:DZone 编写代码是一项复杂而负责任的工作,不仅需要理论知识,还需要具备多项专业技能。当然,这项工作需要花费很多时间。如果程序员不正确地组织他的工作流程,就会导致生产力自然下降、错过最后期限以及代码质量下降。幸运的是,有多种方法可以解决这个问题。其中之一是在工作中使用特殊工具来提高生产力。我希望我所选择的这个小清单能让您的工作更快、更高效。 茶歇 #19:提高开发人员工作效率的 9 个工具。 如果你是一个平庸的程序员该怎么办? - 1ProofHub是一个简单的任务调度程序。有了它,您可以确定任务的优先级、分配和添加任务、检查文档和文件、设置任务的开始和结束日期、创建自定义工作流程、共享文档以及在时间表中设置计时器。ProofHub 有一个适用于 Android 和 iOS 的移动应用程序。 Sublime Text是开发人员最强大的文本编辑器之一,可帮助您执行几乎任何文本操作。它对于许多简单的任务很有用,例如维护待办事项列表、编辑配置文件或编写批处理脚本。 Google Keep是 Google 提供的一项有用的笔记服务。如果您需要贴纸来提醒您桌面上的重要任务,请使用 Google Keep。将此扩展程序添加到 Chrome 中,您可以附加注释、添加标签、添加协作者、用项目符号列出任务,或者即时添加最重要事情的提醒。Google Keep 还可以在 Google 文档中使用 - 只需将您的笔记拖放到文档中即可。 MusicForProgramming 是一个方便的小型在线工具,包含一长串器乐,让您即使在编码时也能创建一个舒适区。这是一个有趣的音乐生成器,您可以在其中选择适合您工作的音乐。只需戴上耳机,从 52 个可用播放列表中选择一个即可收听。 LeanKit是一个让所有团队成员和项目利益相关者对工作有共同理解的工具。它使用公司内部工作的一般原则和方法。您可以可视化您的任务,以便更好地理解它并更有效地工作。借助 LeanKit,团队成员可以发布需要查看的虚拟注释或错误消息。 Silver Searcher是最有效的开发人员生产力工具之一,因为它可以节省搜索代码元素的时间。当显示搜索结果时,该工具比类似程序快得多。 嘿空间- 具有聊天功能的创新任务管理软件。向您的团队发送消息以管理任务、尽量减少会议并让每个人都了解情况。它是 Slack 和 Trello 的组合。在 HeySpace 上,您可以轻松地将部分对话变成任务。每个任务都可以自定义:您可以设置日期、分配负责人、添加标签、描述、文件并对其进行评论。您还可以共享文件。 Habitica是最好的生产力工具之一,让工作变得像玩耍一样。Habitica 带您进入游戏平台的旧像素世界。它将您的日常工作量视为角色扮演游戏,您可以通过完成特定任务来升级。对于实现的每个目标,都会奖励积分。数量越多,你的角色生存的机会就越高。 WakaTime是一个编码生产力跟踪器,带有一组文本编辑器插件。该工具在您编码时监控您的工作。该程序为您提供在特定文件上花费的时间的指标,创建并通过电子邮件发送每日或每周报告。

我是一个平庸的开发者(如何应对)

来源:Dev.to 我个人认识一些非常有才华的开发人员,他们能够毫不费力地创建出色的软件。感谢这些才华横溢的个人,IT 行业才得以蓬勃发展。但可悲的事实是,并不是每个开发人员都是编码忍者/大师/明星。我们正在谈论像我这样的人。我是一个平庸的程序员。本文将告诉你,如果你不是天才,如何在这个行业生存。 茶歇 #19:提高开发人员工作效率的 9 个工具。 如果你是一个平庸的程序员该怎么办? - 2

我总是用谷歌搜索最简单的东西。

我只是不记得很多事情了。例如,标准库中的函数和方法、包名称、样板代码等。我每天都必须用谷歌搜索它。我还使用旧项目中的代码。有时我什至从 StackOverflow 或 GitHub 复制答案。是的,它确实有效——在 StackOverflow 上编程(StackOverflow 驱动开发)。我不是唯一一个。很多程序员也这样做。Ruby on Rails 的创建者发起了一个流行的 Twitter 帖子:“但是为什么这一定是一件坏事呢?这种方法有几个缺点:
  • 这会导致您从其他人那里复制错误的决定或易受攻击的代码。
  • 这创造了一种特殊的心态:如果我们无法通过谷歌搜索某些东西,那么“休斯顿,我们有问题了。”
  • 如果没有互联网,工作就会停止。”
我认为这不是一个大问题。复制代码甚至可以成为你的秘密武器。只是逐渐减少它对你整个工作的负面影响:
  1. 使用 IDE 进行自动完成和猜测,这样您就不必通过 Google 搜索该语言的基础知识。
  2. 记住您已经在哪里(而不是如何)解决了类似的问题。
  3. 您复制到项目中的所有代码都必须经过分析、重构和审查。这样你就不会因为错误的代码而损害项目,但你仍然能够找到快速的解决方案。

我尽量让事情变得简单

计算机总是按照指令行事。只是有时他们会收到错误的命令。因此,开发中的主要问题不是计算机,而是开发人员的智力,而开发人员的智力往往是有限的。如果我们这些平庸的程序员无法创建复杂的抽象、奇怪的算法、大量不可读的代码,那么我们就需要坚持简单的解决方案。如何区分简单代码和复杂代码?您可以使用WTF/分钟方法。原理很简单。一旦你在代码中发现了一些你不理解的东西,事情就变得复杂了。如何简化呢?
  1. 重写它以获得更清晰的设计。
  2. 用文档补充它。
  3. 为最困难的部分添加注释。
如何立即写出简单的代码?
  1. 使用变量、函数、类的正确名称。
  2. 确保程序的每个部分只做一件事。
  3. 最好使用纯函数而不是常规函数。
  4. 选择常规函数而不是类。
  5. 仅当您真正需要时才访问课程。

我不相信自己

即使在最简单的任务中,每个人都可能搞砸代码。例如,你可能会犯错误:
  • 在语言方面;
  • 在逻辑上;
  • 在软件设计方面;
  • 在风格上;
  • 在安全方面;
  • WTF 错误(我最喜欢的)。
不存在“学习编写无错误代码”的魔法书。没关系。任何软件都存在错误。如何保护自己免受明显错误的影响?
  1. 编写测试,大量测试。从集成测试开始,以单元测试结束。在每次拉取请求之前通过 CI 运行您的代码。这将保护您免受逻辑错误的影响。
  2. 使用静态类型。例如,对于 JavaScript,我们使用流程,对于 Python - mypy。
  3. 使用自动样式检查。每种语言都有许多服务。
  4. 使用质量控制。有些工具对代码应用复杂的启发式方法来发现问题(例如,这里不需要这个类,那里的函数太复杂)。
  5. 提交您的代码以供审核。
  6. 付钱给其他人来审查你的代码。当开发人员第一次查看代码时,更容易发现不一致和糟糕的设计决策。

不断学习

有很多东西需要学习。如果你想写出好的软件,你就必须不断学习。这里没有捷径或魔术。每天变得更好。总之,您需要了解两件重要的事情:
  1. 每个人都会遇到问题。重要的是我们为这些问题做好了多少准备。
  2. 我们可以将此类问题的来源数量缩小到某个可接受的水平。
这与你的心理能力或思维方式无关。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION