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

开发者需知的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

Sony开放SmartWatch 支持第三方定制固件 甩啦甩啦!Apptopia帮开发者在线买卖App所有权 聚焦全球移动市场:印度,这块肥肉不太肥 Google决定明年一月份停止对Chrome Frame支持与更新 你应该关注的几个Eclipse超酷插件 华为王丰:FusionCube打造下一代融合一体机 上海云人联合创始人吴朱华:中国人也能做出最好的实时数据库产品 Facebook RSS替代Google Reader?或因其社交属性失败 让这么多国外开发者如此兴奋,iOS 7到底好在哪里? Web开发中那些不招人“待见”的功能 最好的超级计算机在中国 为开发者提供的10款Web应用程序 5000万次下载:HandyGames如何征服Google Play? 红帽大战Ubuntu:750小时免费企业版红帽套餐即将登陆AWS EMC Sanjay Mirchandani:92%虚拟化,使更少IT人拥有更大交付能力 从NSA携谷歌、微软等9家名企监控用户行为看数据安全 【专访间】新科兰德创始人左磊:我们的“卖点”是“数据弹药” 甲骨文公司宣布推出最新Java EE 7 10款最佳CSS/jQuery开源图片说明 创业者应避免对投资者说的五句话 直接拿来用!最火的iOS开源项目(二) 西部数据Pat Wilkison:云计算市场是创新热点 猎豹浏览器发布手机版:PM谈开发理念 成为伟大开发者的“九步曲” 使用GPU构建更便宜的Google神经网络 Facebook与Yahoo!的“火花”:系统间实时数据流管理工具 视金钱如粪土?Yahoo!又要买了,梅姐的算盘是这样打的 MySQL手册不再遵循GPL协议:MySQL走向闭源前兆? 扁平化设计会扼杀人们的创造力吗? 又一巨头涉足移动视频分享领域:传雅虎欲收购短视频应用Qwiki 史上最牛:主要靠三消游戏IPO King也许会是第一家 怎样把Image中的图像存入剪切板?在线等! 菜鸟散分,chart问题,UP有分 用ASP如何在access中删除和添加数据(在线等待) 从一个表里进行查询,查询结果有多条记录,如何我只想要其中的某一条,请问如何取出。 请问:怎样编程来来虚拟网卡? .net目前是什么版本?在哪可以下载到新的安装盘?回答有效100分! 各位,一个重要的问题关于doc.send(false)问题(急!!) 请问:怎样编程来来虚拟网卡? WAP中如何读取手机号码?高分相送!马上给分! 有什么办法可以知道我的共享盘是什么时候创立的,并且知道人家访问过我的共享盘中的哪些文件 答题,大家帮我看看怎么让这个session的改变在页面上显示出来~~~~~~~~~~~~~~~~~~(开始写错了~~) 请教各位DX:关于iframe中显示图片的问题 xp的桌面问题 急!!注册数据库的问题 IBM软件清库存(大优惠) linux 9.0 安装后无法启动,请帮助 请问delphi怎么读取xml文件中的内容? IBM软件清库存(大优惠) 〉〉〉〉〉〉〉〉求一份对旧系统进行分析、整合、优化的文档 又是闪烁,头大! 简单问题,请紧急指导.(在线) help help : fortran + dll = ? 奇怪的现象:判断不了SQL sum()查询结果!!! 2003高考试题 设置访问表命令:“access-list 2 permit 10.0.0.0 0.0.0.255”中10.0.0.0 和 0.0.0.255分别指什么? 请问谁知道这是什么缘故啊? 如何计算cpu和memory的一般的使用上限 在delphi中使用什么报表控件打印的报表效果较好 谁知道db或dbf头文件的格式? 急急 NMFtp中我想从ftp服务器下载指定文件扩展名的文件,该怎么办? 初始化页面的时候,如何使TextMode="Password"的asp:textbox有默认值显示? IBM软件清库存(大优惠) 又是可恶的乱码问题 struts与数据库!在线等待! 如何开发asp.net程序(基于vb) vc++的链接错误 如何用程序动态的获得activex控件的方法属性事件信息 请教:使用web.xml做资源约束时如何由自己的程序来做用户验证 请问:怎样编程来来虚拟网卡? 急!创建LOOKUP的问题 如何计算cpu和memory的一般的使用上限 新问题请教! 老问题:从Excel文件里把数据导入导数据库中 有汇编玩的非常牛的人吗??? 字符串操作的简单问题 学习J2EE需要装什么软件? >>有关记录的问题??<< 请高手指教:出现“ORA12663:服务器未提供客户机要求的服务”问题,怎么解决? 大侠救我! 动态sql问题请教,谢谢 填充combobox的问题 怎么读 Green Light(Radio Edit)歌词谁有阿.我没钱了加不了悬赏了.麻烦好心人告诉下哈. 纸上得来终觉浅,绝知此事要躬行的意思快 On ne sait jamais ce qu'il pense vraivment .elle change d'avis sans If your watch is a quartz or a sel-fwinding one,there will be no such trable. 翻译 纸上得来终觉浅,绝知此事要躬行是什么意思? Avis国际租车谁了解这家公司?或者租过这家公司的车?这家公司的车贵不贵?服务好不好?能不能自驾?在哪能得到详细的了解.交易有没有担保,最好是有向拍拍、淘宝这样的网店最好! I'm going to ( )the radio station.yon must ( )the red light.A.closes down B.look out for C.look out of D.take you around E.the end of F.would like to 填空并翻译 《纸上来得终觉浅,绝知此事要躬行》的意思 均值和方差全都是大于等于0的吗 如何翻译这句英文?用比较正式的语气 “Such activity will be billable to you.”Such activity will be billable to you.关键这个billable在这里是什么意思?是可以开账单?还是需要收费? 纸上得来终觉浅,绝知此事要躬行的含义是什么? avis租车怎么样 什么是激素耐药? “卫鞅”指的是 Amon avis怎么读啊?我不会说英语,这个是一个衣服的牌子来的~如果有人知道怎么读能用汉字帮我写出来读法和Amon avis这个英语一样读法的吗? 高一语文必修1《劝学》《师说》《赤壁赋》中重要的名句,考试经常考的句子, 纸上得来终觉浅后一句 宜 和 怡 读起潮汕音 一样吗 下列句子用了什么修辞方法(借喻、倒喻、博喻) 花好比人的脸庞, 树好比人的姿态我这辈子只是在生活的道上盲目的前冲,一时踹了一个泥潭,一时踏折一枝草花,只是这无目的的奔驰. 纸上得来终觉浅,下一句 pour A l'origine,je n'étais pas un enfant heureux什么意思 纸上得来终觉浅.下一句是? when your love back .feeling as a romantic story是什么意思,? Chaque jour est un jour calme et heureux 如题 纸上得来终觉浅的下一句? 姓王的“王”用英语怎么写? 就是拼音的wang么?如题、 英语翻译L'amour profond n'est pas facile.Soyez heureux. 纸上得来终觉浅下一句是什么? 怡的第四笔怎么念?快 La vie est comme un drame,mais je n'est pas le protagoniste de ce drame的意思是什么? 英语翻译我是在销售进口葡萄酒的,最近在一款法国葡萄酒瓶上看到d'après Yslaire Victor Hugo 我知道是雨果,但是这样接起来又是什么意思呢?Victor Hugo d'après Yslaire 我叫WANG MIAO,女生,想取一个和它读音相近的俏皮可爱的英文名字, 纸上得来终觉浅 绝知此事要躬行的意思 "纸上得来终觉浅,绝知此事要躬行"的意思纸上得来终觉浅,绝知此事要躬行问渠哪得清如许,为有源头活水来.世事洞明皆学问,人情练达即文章.千淘万漉虽辛苦,吹尽狂沙始到金.落红不是无情物 帮起一个英文名读音是 wang(2声)rui(3声) S开头的词和意思关于医生 有一道法语题目,是用tout,toute,tous,toutes改写句子,但有个句子,意思都看不明白,就不知道怎么改了Est-ce que vos amis sont venus? 有没有包含“明”和“轩”这两个字的诗词,最好是古文, 卫鞅变法成功的原因之一 用一个四字短语概括 滑轮比赛的分类,及中国的滑轮运动员介绍,还有自由式轮滑穿的鞋是什么样的? 高一语文诗说,劝学,赤壁赋三篇背诵部分是哪 执行下述两条指令后:Move BL,7FH ADD BL,58H OF=?,CF=?,ZF=?作为有符号数,运算结果是否正确?作为无符号数,运算结果是否正确?为什么? 求教一道法语题 Avant nous, aucun etranger ne s'etait aventure dans ce coin. 这句话什么意思啊Avant nous, aucun etranger ne s'etait aventure dans ce coin.A Personne n'etait jamais venu ici avant nousB Un seul etranger etait venu dans le 加里曼丹岛多火山的原因?为什么火山那么多?还有盛产咖啡的原因 2次函数1.已知二次函数y=-x*2+2x+3 1)自变量x在什么范围内,y随x的增大而增大?何时y随x的增大而减小?并求出函数的最大值和最小值.2)当x为何值时,y>0?何时y 1.在图10所示的装置中,A、B是动滑轮,C是定滑轮,D是轮轴,D的轮半径R=10厘米,轴半径r=5厘米,物重G=500牛顿,每个动滑轮重P=50牛顿.如果不计绳重和摩擦,各段绳的方向保持相平行,那么:(1)为把重物 辩论It's good for high school students to write books英文中文均可最好英文正方反方均可 初三2次函数社区内要建一片绿地,因地形所限,其形状为直角梯形,两边借用夹角为135度的两面墙,另外两边总长为60m的铁条花边.(1)求梯形的面积S和高x之间的函数关系式.(2)求梯形的高x的 修改病句(用修改符号在原句上修改) 1 当奥运圣火在中国大地传递时,让我们看到了无数感人的场面.2 在学校春游筹备会上,各相关部门交换了广泛的意见.3 家长不能过分溺爱自己的孩子,这 马来西亚有大约一半的领土位于加里曼丹岛上,那么马来西亚是岛国还是大陆国 初三2次函数 8m的篮球运动员在距蓝板4m处跳起投篮,球在运动员头上方0.25m处出手,球运行路线可以用y=-0.2x*x+3.5来描述,那么1)球能达到的最大高度是多少?2)球出手时,运动员跳离地面的高度是多 当奥运圣火在杭州传递时,让我们看到了无数感人的画面修改病句 write good paper 是什么意思 初三2次函数题已知抛物线y=x^2-(2k-1)x+4k-6与x轴交于原点异侧两点A(x1,0),B(x2,0),它的对称轴与X轴交于点N(x3,0),若 A,B两点键的距离小于6.⑴求K的取值范围⑵试判断,是否存在K值,使过点A和N能作圆 '学雷锋活动在中华大地实施'这句的病句修改 1945年加里曼丹岛有多少人口 纸上得来终觉浅,绝知此事要躬行. a bag of wind 日本岛根县拟出版《独岛问题的百问百答缅甸商家开始接受信用卡付款 硬件不足德媒:美窃听默克尔手机已长达十年 奥报告称美国一年有500名少年儿童因枪美购物网上售卖“清朝帽子”等万圣节形韩独岛宣传片因被指使用日剧片段已被临日本诈骗犯瞄准出台女 十余人被骗损失为落实核电设施出口 安倍破例再访土耳俄罗斯:在争议中力挺转基因食品英媒称中欧欲修补贸易关系 补贴问题仍德国组阁谈判紧张进行 新联合政府或增研究:提升信任感亦可靠食补 有效成分日本最大电信服务商操作失误 致半个日伊朗被指核能力相当发达 可在一个月内蒙古国总统启程访朝 成金正恩执政后首韩国整容手术事故层出不穷 整容共和国美国处方药价格高昂 民众被迫违法购外俄民调:超六成民众认为俄中存在多方面加拿大机场现可疑包裹 警方搜查机场附墨西哥20岁男子贩毒杀害数十人 墨警美将军称驻阿富汗部队将经由俄罗斯领空保罗腹股沟受伤出战火箭成疑库里:弟弟终于在NBA找到了家你们讨厌的不是广场舞,而是大妈格林:对阵开拓者将充满更多敌意基德:帕克能上场展示了他的努力真正的蓝莓????科学家都有病吧!害宋清辉:现在市场还未完全脱离危险期跟着国家下注:芯片三驾马车之晶门科技周末重大财经消息汇总恢复IPO并不会扼杀牛市 宋清辉:不二胎,生还是不生?(下篇)长得不美不重要 穿衣有品是王道出租车改革最后征求意见 交通部:顺路米兰引援尚缺点晴之笔(红黑转会述评之攀登屏风山 女登山队员失足坠谷身亡(足球 亚冠决赛:广州恒大淘宝战平阿联叙又现毒气战!谁这么丧心病狂?让机器人采用和人类的方式与人类交流恒大罗比翻版红黑小罗第十三届中国食品安全年会举行 康师傅习马会后马英九愉快返台 称飞机上睡得
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘