说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

开发者需知的10类工具

HTML文档下载 WORD文档下载 PDF文档下载
作为一个软件开发者,你不可避免地需要用到各种工具来设计、理解、编辑任何程序,本文中按类型总结了10类开发者须知的工具,并各列举了一些知名应用软件。

作为一个软件开发者,你不可避免地需要用到各种工具来设计、理解、编辑任何程序,本文作者按类型总结了10类开发者须知的工具。CSDN摘译如下:

免责声明:“最好”的软件工具通常属于主观看法,也许你并不同意我的观点,但是也可以从中获取所需。

1. 版本控制工具

无论你是在100人的团队,还是一个人做设计、开发,版本控制工具都能让你从中获益。

通过版本控制工具,你可以保留同一文件中在不同时期的版本,这对图表和二进制文件都适用,尤其适合文本类型文件。

主流版本控制工具可以分为两种:集中式和分布式。集中式版本控制工具需要一个服务器存储仓库,你可以在合适的时候把代码提交到服务器上。而分布式版本控制工具(DVCS)则不需要中心服务器:每个仓库的使用者都有自己的本地缓存,将更新从一个本地仓库传递到另一个的过程非常简单只需要从源系统push或者从目标系统pull即可。

目前最流行的开源版本控制工具要数Subvision(SVN)、Git以及Mercurial(hg)了,其中SVN是集中式版本控制工具,Git和Mercurial则是分布式的。

值得注意的是,有很多知名网站提供仓库托管服务,比如bitbucket.org、SourceForge、GoogleCode以及Github等等,这些网站都提供免费托管服务,但在具体服务支持与收费上各不相同。

2. 文件比较工具

无论你是想要与版本控制系统合并代码,还是仅仅想要比较两个文件的不同,文件比较工具都是非常有用的。其中diff是一个非常有名的命令行比较工具,我也喜欢Beyond Compare这款图形界面比较工具——可惜它并非免费,但是并不贵而且简单、强大。除此之外,常见文件比较工具还有SourceGearDiffMerge(免费、跨平台=Windows/OS X/Linux),Compare It!(收费、仅支持Windows),DeltaWalker(较贵、仅支持OSX)以及UltraCompare(较贵、跨平台)。

3. 编辑器

处理文本文件的难以取决于你使用的软件。重量级的编辑器,如Eclipse、NetBeans、Visual Studio都属于是IDE(integrateddevelopment environment,集成开发环境),如果你需要做特定的工作,他们都非常强大。但有时候你仅仅想要简单、快速地编辑文件,系统自带的编辑器(Windows下的Notepad和Machine下的TextEdit)虽然轻量但是不够强大。这里介绍几个中量级的编辑器:Windows平台的Notepad++、Mac平台的TextWrangler都是不错的免费编辑器,还有GNUemacs、Vim这样强大、可扩展的自由软件。

4. 构建工具

如果你使用IDE进行开发,仅仅单击“Build”即可以为你编译程序的源代码。但是注意:编译软件时常常有很多细节的编译选项,而使用IDE时常常被深藏在复杂的菜单中。我认为,专业的程序员应该使用可定义的构建工具,选择正确的编译选项达到最优效果。

5. 脚本工具

有时候你需要快速整合多个软件以达到某个目的,这时很难选择C或者C++这样需要编译的编程语言,因为它们在执行前需要先编译成可执行的文件。此时,更好的解决方案是脚本语言,它们通常集成在操作系统中,编写一个脚本甚至可以在多台计算机中运行。

常见现代脚本语言有Python、Ruby、Groovy、awk、Perl等等。不论你更喜欢那种,我建议你选择其中一款。我很喜欢Python,不仅因为它简单、鼓励好的编程规范,而且拥有强大的调试工具——基于Eclipse的PyDev。借助PyDev,你可以设置断点、并端部执行你的脚本。

6. 数值分析工具

除非你打算做一些及其简单的项目,或者为嵌入式系统进行逻辑编程,你常常会需要对数据有一个直观地了解——图表、或者曲线图,又或者仅仅想要解一个方程,这时候你会需要数据分析工具,比如MATLAB、Mathematica、MathCAD,它们都非免费,甚至价格昂贵,但是价格强大。

如果你的需求简单,SciLab、Octave、PyLab这些MATLAB的免费“克隆”版本也提供了某些MATLAB的基本功能,语法也与MATLAB相近或相同。其中PyLab用Python实现,如果你懂Python,或许可以将其利用到科学计算领域。

7. 文档工具

工程环境中,你常常需要和他人分享想法,很多软件都可以做到这点,比如使用微软的Visio可以提供流程图、表,Word来编辑文档,PowerPoint来做演示。但它们都非免费,有时候你更需要免费或者更特化的文档工具。

  • 图形可视化工具——我常用的是基于命令行的graphviz,以及拥有交互界面的yEd。    
  • 流程图——使用图形表达思路。Quick Sequence Diagram Editor很基本,但是足以帮助你达到绘制这些图形的目的。    
  • 排版工具——你可以使用WYSIWYG工具,也可以选择非WYSIWYG软件,又或者TeX、LaTeX,随个人喜好。    
  • 代码自文档工具——Doxygen很常见,可以将代码中的注释转化成文档,JavaDoc则是转为Java设计的文档工具。    

8. 终端以及通信工具

有时候你会需要通过串口进行通信,这时你就需要终端工具了,在Web浏览器出现之前,这更为常见。曾经与Windows绑定的HyperTerminal不够强大,不建议使用,而且微软在Vista之后也不再集成它。我个人更喜欢PuTTYtel和TeraTermPro。其它通信工具如FTP及其安全变种SFTP、SCP方面我最喜欢Cyberduck,现在支持Mac和Windows。

9. 软件QA(质量保障)工具

对于开发者来说,为避免bug你肯定需要QA工具。我不是很清楚这方面,但是知道大概可以分以下几类:

  • 静态分析工具。它是一种分析软件的工具,既可以分析软件源代码,也可以分析编译后的文件。最出名的莫过于面向C语言的lint,lint会像老是一样在你代码的错误之处标出红线,标出你的错误。Java语言有FindBugs对应,能够帮助衡量代码复杂度——通常好的程序设计函数比较小,如果某个函数超过20-30行代码,你可以考虑将其分解了,这样也更便于设计和调试。    
  • 单元测试和代码覆盖率。大型软件测试通常极难,这是公认的;但是使用“单元测试”测试更小的软件模块却简单得多。但是单元测试同样也有不擅长的领域,比如嵌入式系统,虽然可以通过交叉编译在PC上寻找bug,但并不能保证在嵌入式机器上效果一致。单元测试也有一定的技巧,比如可以编写可重复利用的测试脚本。代码覆盖工具我仅见过同事使用Cantata++,但并不便宜。    
  • 代码“美化器”。如果你和同事使用相同的编码风格,更容易寻找出简单的语法错误。通常我们都有各自的编程习惯,但是可以通过软件达到统一编程风格的效果——比如自动缩进、tab空格转换等等。我使用过Uncrustify,以及其GUI工具UniversalIndentGU。    

10. 基本命令行工具

虽然GUI对于计算机交互是革命性的改进,但还有很多事用命令行做起来更加简单,比如使用脚本能够轻易组合多个程序。如果你使用OS X或者Linux,那计算机上一般已经预装了UNIX命令行工具,Windows用户可以下载相应的二进制文件。

其它,诸如7zip、CPU-Z、System Explorer之类的软件虽然没有放在这个列表中,但也都是非常实用的工具。

原文链接:EmbeddedRelated.com

梁博:OpenStack已在IaaS层面扮演重要角色 云计算三大主流阵营的竞争与合作 如何使用15美元每月的机器实现百万文档检索 外媒路透社:小米本周四发布首款平板电脑,八九不离十 移动支付帝国战:谷歌、苹果、Facebook、亚马逊孰胜孰负? 十大响应式Web设计框架 Giraph助力Facebook打造亿万用户间关系链 跪求出名:让应用在App Store中出人头地的12种方式 束文辉:Intel如何玩转OpenStack Facebook社交业务进军中国内地,困难重重 《近匠》透镜:代码级定位,让App性能监控更从容! 联想移动与云新战略 重点深耕企业移动方案 美国高通公司在深圳召开参考设计及无线创新峰会 提供“一站式”整合服务 友盟正式推出消息推送平台 iOS 8新功能再曝光:或推出分屏多任务功能 Framer:开源原型设计工具,巨头们的心头好 亚特兰大峰会精彩看点:软件吞噬世界,OpenStack是变革核心 数据中心基础设施是大数据战略成败的关键 实时大数据分析:网络分析的一种新方法 最新消息:iPhone 6将采用更大、更清晰的1704x960分辨率屏幕 吴毅挺:OpenStack是开源IaaS平台大势所趋的集大成者 做好扁平化设计-交互篇 狙击Google Glass?三星将推基于Tizen系统的Gear Glass GamePlay:跨平台开源3D游戏引擎,黑莓的努力你不懂 “少即是多” 高通QRD大会精华汇总 天云盾:构筑在云端的Web安全防护 解析大数据时代的数据库集群技术 莫里航海图,最早的大数据实践 弥补空缺!HappyFox面向iOS开发者发布开源移动HelpDesk SDK Chitika北美网络流量报告:WP KO黑莓、iOS超Android 《近匠》秦时明月:知名IP光环下的生存之道 从哪里下载dotnetbar控件,我很穷,没分了 数字水印的实现问题 请问两个问题,一个关于程序的运行,另外一个关于属性的设置 中文输入法请教. 请问 怎样将table里面某几列的所有数据copy到另外一个表中? 知道对方的 IP地址 ,怎么得到他的机器名?我记得NET命令里有一个可以的,谁知道? 一个报表打印的问题,大家快来帮帮我啊!!! 报表问题快来帮帮我啊!!! 我的word每当保存总是提示内存不足????? 问一下个在VB中使用Oracle的问题? 紧急求救 请问这句话什么意思? 如何得到以前安装 SQL SERVER 的密码 如何把一个字符串中所有指定的字符删除? 那里有delphi深度历险下载,我怎么也搜不到 各位大虾帮帮忙 如何在LINUX下如何安装配置JSDK? 如何挂载usb硬盘?? 使用TrackBar控件的问题 挑战高手, 巨难问题. 有关不同系统(ACCESS, MSSQLSERVER) 的SQL语句兼容问题 奇怪问题:我的光驱,有的光盘能读,有的不能读(比如自己刻录的) SQL Server 安装时的密码,忘了,如何取得,在线等待 挑战高手, 巨难问题. 有关不同系统(ACCESS, MSSQLSERVER) 的SQL语句兼容问题 谁能告诉我,汇编论坛在哪?谢谢 调色板问题 挑战高手, 巨难问题. 有关不同系统(ACCESS, MSSQLSERVER) 的SQL语句兼容问题 如何在WLS7中部署一个Servlet和一个JSP? 挑战高手, 巨难问题. 有关不同系统(ACCESS, MSSQLSERVER) 的SQL语句兼容问题 新手问题: 一个简单的js效果实现问题 吐血送分!关于datagrid的数据更新问题! 为什么不能进大富翁论坛 谁有KV3000啊,传个给我行吗,我下载了好几个都不行, 我有原版盘坏了,谢 VB 怎么调入并执行写好的SQL文件. 今天我生日,郁闷散分 吐血送分!关于datagrid的数据更新问题! 请问powerdesigner生成.sql时,如何在.sql中包含Comment信息 DBGrid改变行的颜色 下载英文Windows的地址 我要在一個按鈕點擊后,開啟另外一個頁面,並且這個頁面自動處於打印預覽狀態,怎麼寫? 正在上升中,公司给自己加薪了,自己却突然心灰意冷. 我想问什么是temporary object?请高手指教 那位大哥在HP-UX下配置过PHP和ORACLE? 宝丽金120首金曲 Dialogs(wdDialogFileOpen)提示ActiveX不能创建对象? 那位朋友知道如何在网络上截取一个信息(数据包) 大家看过dvdrip的片子吗?有一个问题请问 (winform)我想编写一个简单的浏览器,问题1 在LINUX下如何安装软件啊? 苏州的朋友可以进来看看吗? 关于游标类型的问题 如何比较两幅近似图像并得出偏移的距离? 2011迎世园英孚拼词达人赛复赛进半决赛多少分 黑帮的英文名叫什么?求解 Dokuz Eylul University 这是土耳其的大学,求中文翻译 如何克服组织变革阻力? “在我们学校有浪费水,电,餐厅的食物,书本的现象.这样造成浪费资源的为害.”英语翻译 新加坡的英文拼写新加坡用英文怎么拼呀!还有中国大区总裁!中国大区总裁用英文怎么拼呢? 从管理心理学来讲,你是如何看待组织变革动力和阻力的? 黑社会 翻译成英文 新加坡英文拼写和所属国家 求用来形容人是同性恋的词语常用的 起风了,黄山的云雾千变万化.改为比喻句 英语翻译 说同性恋的词有哪些说男的有什么?说女的又有什么?多多益善啊 起风了,黄山的云雾千变万化改为比喻句 黑帮犯罪 或 黑社会犯罪 用英语应该怎么说?如题. 英语翻译求英语翻译,一定要人工翻译,不要中国式英语:我认为影响人们食物选择的因素有很多,首先食物的选择与食品的色香味有关,随着社会的发展,人们对健康的要求更高,所以人们会选择 起风了,黄山的云雾千变万化.改成比喻句. 黑帮用英文怎么说啊?就是黑帮啦,黑社会之类的,英文怎么翻译啊? 海洋最深处有多少米? 如何培养孩子的创造力英语小作文 黑帮用英语怎么说?RT.我想问我们那的老外你们那有黑帮吗. I think this dress ( )me ( )I think this dress ( )me ( )A is fitting ; well B fit ; good C fits well D fitted ; good 一定呀.我明白为何选这一项.以便知识理解透. 关于创造力的培养的英文作文 What kind of man would defy a king?..What's the freedom?..What's the life?..What kind of man would defy a king?..What's the freedom?..What's the life?.. do you think this is an __ dress?【pop】we are the ——-aged from13 to 19 years old.[ten] 《穷人》的作者是?著名作家?文章歌颂了主人公?的善良美好心灵. It's what makes our life colorful,and gives our life true meanings and fun.什么意思? 书上找不到啊!好心的帮帮忙啊〜 think,do,this,you,the,beauiful,dress,is,most 问句连词成句 The price of this skirt is too ___.A.cheapB.expensive C.dear D.high 初二物理. 书上找不到啊!好心的帮帮忙啊〜 一定好评! think do this you the beautiful dress is most 怎么连成一句话说 This skirt is too small.I want a l______ one How did I change my attitude toward my father?My father was an old revolutionary.He spent the better part of his life on in-fightingduring the Cultural Revolution.Since he was in the turmoil era for so long,he didn't know what the love was and how to 写和颐和园课文有同样顺序 有方位为顺序 2.This black skirt is too _________(昂贵的).The price of the gray one is much _______(便宜).3.On my birthday,my friends _______(收到) a lot of p________ such as toys and hair _____ (夹子).4.There is always _________ (足够) money in his ___ I could change my habits ,my intelligence,my attitude,my mind,my future,my life. 英语翻译分别用到buy和pay. 英语翻译 change attitude toward是什么意思 那位知道“黑社会”用英语怎么说? tony的英文是啥 英语翻译It takes a person looking at life from a different angle to invent a toy like Tangle,and Richard X.Zawitz,the colorful creator of the source of "Twisted Good Fun," is that kind of guy.A child of the 60's who grew up in conservative Pittsb 黑社会和黑帮份子用英语怎么说?别告诉我Black society. 怎么培养创造力 It fits you well. do you think合并成一句 有没有知道黑社会,高利贷用英语怎么说? 英语翻译Tepede beyaz bir saray.SARAY'da SOYTARI BİR KRAL.krallığını seveyim senin pabucumun Kralı.seninde saltanatın biter birgün 组织变革的模式有几种 哪位知道中文的“黑社会”用英语怎么说啊?与之相关的其他单词也请一并告知, 怎样培养创造性 什么是组织变革的过程模式 求七年级英语作文2篇 60字左右 不要复制的要自己写的七年级英语作文2篇 60字左右 不要复制的要自己写的 题材不限 GGJJ 创造力应该如何培养 组织变革过程中包括哪些主要工作? 我叫覃剑斌,麻烦各位帮我起个香港英文名,最好带上音标!香港拼音就不要回我了,我只要香港英文名!谁会就快回复我吧! 塞语翻译中文或中文翻译塞语在哪里翻译谢谢大师帮忙 请问大海的最深处有多深?大海的最深处位于地球的什么地方? 《东北大森林》和《颐和园》写作顺序相同吗 如何培养创造力
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘