专栏名称: 51CTO
51CTO官方公众号——聚焦最新最前沿最有料的IT技术资讯、IT行业精华内容、产品交流心得。本订阅号为大家提供各种技术干货,还会不定期的举办有奖活动,敬请关注。
目录
51好读  ›  专栏  ›  51CTO

程序员必备的17款强有力武器,你拥有几个!

51CTO  · 公众号  · 科技媒体  · 2017-01-23 11:43

正文

如若转载本文请在文章顶部标注“本文转载自51CTO(ID:weixin51cto),作者:熊小妹


对于每一位开发者而言,软件工具的重要性显然不言而喻。事实上,除了个人能力之外,它们也在团队的效率及实际生产力层面扮演着关键性角色。在今天的文章中,我们整理出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将发挥重要作用。其提供理想的连接质量,定期进行更新且完全免费。另外,其还提供组通话选项,这无疑让我们的团队协作效果更上一层楼。