提高开发人员工作效率的 9 个优秀工具
来源:
DZone 编写代码是一项复杂而负责任的工作,不仅需要理论知识,还需要具备多项专业技能。当然,这项工作需要花费很多时间。如果程序员不正确地组织他的工作流程,就会导致生产力自然下降、错过最后期限以及代码质量下降。幸运的是,有多种方法可以解决这个问题。其中之一是在工作中使用特殊工具来提高生产力。我希望我所选择的这个小清单能让您的工作更快、更高效。
ProofHub是一个简单的任务调度程序。有了它,您可以确定任务的优先级、分配和添加任务、检查文档和文件、设置任务的开始和结束日期、创建自定义工作流程、共享文档以及在时间表中设置计时器。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 行业才得以蓬勃发展。但可悲的事实是,并不是每个开发人员都是编码忍者/大师/明星。我们正在谈论像我这样的人。我是一个平庸的程序员。本文将告诉你,如果你不是天才,如何在这个行业生存。
我总是用谷歌搜索最简单的东西。
我只是不记得很多事情了。例如,标准库中的函数和方法、包名称、样板代码等。我每天都必须用谷歌搜索它。我还使用旧项目中的代码。有时我什至从 StackOverflow 或 GitHub 复制答案。是的,它确实有效——在 StackOverflow 上编程(StackOverflow 驱动开发)。我不是唯一一个。很多程序员也这样做。Ruby on Rails 的创建者发起了一个流行的 Twitter 帖子:“但是为什么这一定是一件坏事呢?这种方法有几个缺点:
- 这会导致您从其他人那里复制错误的决定或易受攻击的代码。
- 这创造了一种特殊的心态:如果我们无法通过谷歌搜索某些东西,那么“休斯顿,我们有问题了。”
- 如果没有互联网,工作就会停止。”
我认为这不是一个大问题。复制代码甚至可以成为你的秘密武器。只是逐渐减少它对你整个工作的负面影响:
- 使用 IDE 进行自动完成和猜测,这样您就不必通过 Google 搜索该语言的基础知识。
- 记住您已经在哪里(而不是如何)解决了类似的问题。
- 您复制到项目中的所有代码都必须经过分析、重构和审查。这样你就不会因为错误的代码而损害项目,但你仍然能够找到快速的解决方案。
我尽量让事情变得简单
计算机总是按照指令行事。只是有时他们会收到错误的命令。因此,开发中的主要问题不是计算机,而是开发人员的智力,而开发人员的智力往往是有限的。如果我们这些平庸的程序员无法创建复杂的抽象、奇怪的算法、大量不可读的代码,那么我们就需要坚持简单的解决方案。如何区分简单代码和复杂代码?您可以使用WTF/分钟方法。原理很简单。一旦你在代码中发现了一些你不理解的东西,事情就变得复杂了。如何简化呢?
- 重写它以获得更清晰的设计。
- 用文档补充它。
- 为最困难的部分添加注释。
如何立即写出简单的代码?
- 使用变量、函数、类的正确名称。
- 确保程序的每个部分只做一件事。
- 最好使用纯函数而不是常规函数。
- 选择常规函数而不是类。
- 仅当您真正需要时才访问课程。
我不相信自己
即使在最简单的任务中,每个人都可能搞砸代码。例如,你可能会犯错误:
- 在语言方面;
- 在逻辑上;
- 在软件设计方面;
- 在风格上;
- 在安全方面;
- WTF 错误(我最喜欢的)。
不存在“学习编写无错误代码”的魔法书。没关系。任何软件都存在错误。如何保护自己免受明显错误的影响?
- 编写测试,大量测试。从集成测试开始,以单元测试结束。在每次拉取请求之前通过 CI 运行您的代码。这将保护您免受逻辑错误的影响。
- 使用静态类型。例如,对于 JavaScript,我们使用流程,对于 Python - mypy。
- 使用自动样式检查。每种语言都有许多服务。
- 使用质量控制。有些工具对代码应用复杂的启发式方法来发现问题(例如,这里不需要这个类,那里的函数太复杂)。
- 提交您的代码以供审核。
- 付钱给其他人来审查你的代码。当开发人员第一次查看代码时,更容易发现不一致和糟糕的设计决策。
不断学习
有很多东西需要学习。如果你想写出好的软件,你就必须不断学习。这里没有捷径或魔术。每天变得更好。总之,您需要了解两件重要的事情:
- 每个人都会遇到问题。重要的是我们为这些问题做好了多少准备。
- 我们可以将此类问题的来源数量缩小到某个可接受的水平。
这与你的心理能力或思维方式无关。
GO TO FULL VERSION