对于每一位开发者而言,软件工具的重要性显然不言而喻。事实上,除了个人能力之外,它们也在团队的效率及实际生产力层面扮演着关键性角色。在今天的文章中,我们整理出 17 款最为强大的开发武器,如果您尚未尝试过其中部分工具,请务必予以关注。
1. Terminal(终端)
虽然根据开发方向的不同,大家对终端的依赖程度亦有所区别,但必须承认我们或多或少要与其打交道。
在终端中,大家可以通过命令执行各类进程。只需要一条命令,我们即可完成自己需要的操作——而无需在多个菜单间来回切换。
2. Tmux
在处理多进程与多个已开启终端时,Tmux 的表现相当出色。事实上,它是一款终端多路复用工具,能够帮助大家通过窗口或者选项卡同时面对多个彼此独立的终端。
3. Docker
Docker 是一套软件容器化平台,能够将您的应用或软件打包在文件系统当中,并随后实现随处移动与执行。代码、系统库等一切运行必要的元素皆会被纳入其中,这意味着该软件将不再依赖于其运行环境。
容器技术的优势多种多样,其采用差异化架构、效率更高,且能够运行在任意计算机、基础设施乃至云中。Docker 允许大家在容器中引入更多新功能,同时更轻松地利用由其创建的通用框架实现协作。最后,Docker 还可帮助我们显著提升软件的发布与规模扩展速度。
4. Intellij
Intellij 是一套集成开发环境(即 IDE)。IDE 整合了一切必要的开发工具,可作为代码编辑器、编译器乃至调试器等使用。Intellij 的优势在于出色的自动补全以及卓越的用户友好性。其还有助于快速进行代码内容导航、错误分析以及修复等。
5. Slack
企业内部沟通协作平台是一个将分散的沟通方式聚集到一个地方,邮件、IM、短信、类似 Yammer 的工具、企业内网和 Wiki 等,该平台由 Flickr 创始人创办。
除了整合沟通方式外,Slack 还整合了文件分享系统,公司内所有共享文件,包括上传到 Slack 上的,还有储存在 Google Doc 或者 Dropbox 里的,通过内置的搜索工具,都能进行全文检索。Slack 还整合了 Twitter、Zendesk、Crashlytics 和 Heroku 等服务,将他们的通知提醒、Bug 追踪等数据融入到公司内的信息流中。目的只有一个,做一个能解决公司内所有问题的工具。
6. Chrome
浏览器早已成为我们生活中不可或缺的重要部分,而谷歌 Chroe 则是其中最具人气的一款。其界面简洁明快,速度出色且能够在各设备上进行书签同步。
另外,Chrome 的扩展与附加库也相当丰富。最后,其开发者控制台便捷易用,如能够动态修改 CSS 样式并实时看到修改后的效果、能够查看 JavaScript 报了什么错等,极大优化了前端开发人员的效率。
7. Feedly
Feedly 是一款新闻 RSS 阅读器,帮助大家随时订阅和追踪自己感兴趣的新闻内容。其界面简约且可进行个性化调整,支持 YouTube 频道、博客等信息来源,并会在发布新内容时及时向您交付更新。
8. Jira
Jira 专门面向敏捷开发团队,可用于进行软件的规划、追踪及发布。其拥有强大的可定制能力,且功能与工具亦相当多样,足以应对开发中的各个阶段。通过这套单一平台,大家将能够轻松管理团队日志、查看工作进度并生成对应报告。
9. Git
Git 是一套开源版本控制系统,能够帮助开发者在确定最终版本之前定期修改代码,从而获得理想的运行效果。
这套版本控制系统能够保存每一项更改,允许多人参与协作并提供更改及贡献。所有代码副本皆可随时查看。另外,Git 亦可同步团队编码工作,且妥善管理文件内容冲突。在我个人看来,缺少 Git 的帮助,项目开发工作将很难顺利进行。
10. GitHub
GitHub 是一项 Git 库托管服务。其类似于面向软件项目的 Dropbox,只是专门用于存储代码。在上传项目时,大家需要将其选定为公开还是私有。我们可以在 GitHub 上找到志同道合的好友、进行项目共享等等。其社区规模庞大,而项目本身的体量则更为可观。
11. Stack Overflow
Stack Overflow 堪称每一位程序员的圣经。其虽然不属于软件开发工具,但却是世界上最大的程序员社区。您遇到的几乎一切问题都可在这里找到答案。总而言之,这是个学习及分享知识的好地方。
12. Sublime Text
Sublime Text 是一款源代码文本编辑器,且拥有相当出色的用户界面设计。
除了界面外,其还提供多种快捷方式以打开文件并在各行间往来切换。其提供多重选择功能,可一次性变更多行代码。再有,其插件也相当强大。
13. Jenkins
Jenkins 是一款开源自动化服务器,具体而言属于一款持续集成服务器。大家可以将其视为代码与构建服务器间的中间人,它能够定期查看开发服务器上的变更并将其发送至构建服务器。
14. Confluence
Confluence 是另一款团队协作软件。我们可以将各类思路、要求及产品设计加以汇总,并生成说明文件以确保开发方向。其易上于手,且每个人都能够借此加入到项目贡献中来。
15. Spotify
Spotify 是我们最喜爱的音乐服务。在这里,用户能够轻松找到自己喜爱的歌曲并建立播放列表。其界面相当出色,能够播放所有设备上的音乐,且 Web 应用使用体验与移动应用同样优秀。另外,付费账户允许大家离线访问自己的音乐库。虽然与开发并非直接相关,但边听歌边编码相信已经成为大多数从业者的习惯。
16. YouTube
YouTube 提供大量技术专家的视频讲座,并且这些技术视频都喜欢将复杂的事情简单化讲解,我们亦可在这里观看自己无法前往的会议或访谈。总之,各种有趣的视频资料在这里汇集,千万别错过!
17. Skype
如果我们的分支团队分散在全国甚至世界各地,或者需要与不同国家的客户进行对接,那么 Skype 将发挥重要作用。其提供理想的连接质量,定期进行更新且完全免费。另外,其还提供组通话选项,这无疑让我们的团队协作效果更上一层楼。
译者:核子可乐