狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

開(kāi)發(fā)者需知的10類工具

admin
2013年5月11日 23:10 本文熱度 4592

作為一個(gè)軟件開(kāi)發(fā)者,你不可避免地需要用到各種工具來(lái)設(shè)計(jì)、理解、編輯任何程序,本文作者按類型總結(jié)了10類開(kāi)發(fā)者須知的工具。CSDN摘譯如下:


免責(zé)聲明:“最好”的軟件工具通常屬于主觀看法,也許你并不同意我的觀點(diǎn),但是也可以從中獲取所需。


1. 版本控制工具


無(wú)論你是在100人的團(tuán)隊(duì),還是一個(gè)人做設(shè)計(jì)、開(kāi)發(fā),版本控制工具都能讓你從中獲益。


通過(guò)版本控制工具,你可以保留同一文件中在不同時(shí)期的版本,這對(duì)圖表和二進(jìn)制文件都適用,尤其適合文本類型文件。


主流版本控制工具可以分為兩種:集中式和分布式。集中式版本控制工具需要一個(gè)服務(wù)器存儲(chǔ)倉(cāng)庫(kù),你可以在合適的時(shí)候把代碼提交到服務(wù)器上。而分布式版本控制工具(DVCS)則不需要中心服務(wù)器:每個(gè)倉(cāng)庫(kù)的使用者都有自己的本地緩存,將更新從一個(gè)本地倉(cāng)庫(kù)傳遞到另一個(gè)的過(guò)程非常簡(jiǎn)單只需要從源系統(tǒng)push或者從目標(biāo)系統(tǒng)pull即可。


目前最流行的開(kāi)源版本控制工具要數(shù)Subvision(SVN)、Git以及Mercurial(hg)了,其中SVN是集中式版本控制工具,Git和Mercurial則是分布式的。


值得注意的是,有很多知名網(wǎng)站提供倉(cāng)庫(kù)托管服務(wù),比如bitbucket.org、SourceForge、GoogleCode以及Github等等,這些網(wǎng)站都提供免費(fèi)托管服務(wù),但在具體服務(wù)支持與收費(fèi)上各不相同。


2. 文件比較工具


無(wú)論你是想要與版本控制系統(tǒng)合并代碼,還是僅僅想要比較兩個(gè)文件的不同,文件比較工具都是非常有用的。其中diff是一個(gè)非常有名的命令行比較工具,我也喜歡Beyond Compare這款圖形界面比較工具——可惜它并非免費(fèi),但是并不貴而且簡(jiǎn)單、強(qiáng)大。除此之外,常見(jiàn)文件比較工具還有SourceGearDiffMerge(免費(fèi)、跨平臺(tái)=Windows/OS X/Linux),Compare It!(收費(fèi)、僅支持Windows),DeltaWalker(較貴、僅支持OSX)以及UltraCompare(較貴、跨平臺(tái))。


3. 編輯器


處理文本文件的難以取決于你使用的軟件。重量級(jí)的編輯器,如Eclipse、NetBeans、Visual Studio都屬于是IDE(integrateddevelopment environment,集成開(kāi)發(fā)環(huán)境),如果你需要做特定的工作,他們都非常強(qiáng)大。但有時(shí)候你僅僅想要簡(jiǎn)單、快速地編輯文件,系統(tǒng)自帶的編輯器(Windows下的Notepad和Machine下的TextEdit)雖然輕量但是不夠強(qiáng)大。這里介紹幾個(gè)中量級(jí)的編輯器:Windows平臺(tái)的Notepad++、Mac平臺(tái)的TextWrangler都是不錯(cuò)的免費(fèi)編輯器,還有GNUemacs、Vim這樣強(qiáng)大、可擴(kuò)展的自由軟件。


4. 構(gòu)建工具


如果你使用IDE進(jìn)行開(kāi)發(fā),僅僅單擊“Build”即可以為你編譯程序的源代碼。但是注意:編譯軟件時(shí)常常有很多細(xì)節(jié)的編譯選項(xiàng),而使用IDE時(shí)常常被深藏在復(fù)雜的菜單中。我認(rèn)為,專業(yè)的程序員應(yīng)該使用可定義的構(gòu)建工具,選擇正確的編譯選項(xiàng)達(dá)到優(yōu)選效果。


5. 腳本工具


有時(shí)候你需要快速整合多個(gè)軟件以達(dá)到某個(gè)目的,這時(shí)很難選擇C或者C++這樣需要編譯的編程語(yǔ)言,因?yàn)樗鼈冊(cè)趫?zhí)行前需要先編譯成可執(zhí)行的文件。此時(shí),更好的解決方案是腳本語(yǔ)言,它們通常集成在操作系統(tǒng)中,編寫一個(gè)腳本甚至可以在多臺(tái)計(jì)算機(jī)中運(yùn)行。


常見(jiàn)現(xiàn)代腳本語(yǔ)言有Python、Ruby、Groovy、awk、Perl等等。不論你更喜歡那種,我建議你選擇其中一款。我很喜歡Python,不僅因?yàn)樗?jiǎn)單、鼓勵(lì)好的編程規(guī)范,而且擁有強(qiáng)大的調(diào)試工具——基于Eclipse的PyDev。借助PyDev,你可以設(shè)置斷點(diǎn)、并端部執(zhí)行你的腳本。


6. 數(shù)值分析工具


除非你打算做一些及其簡(jiǎn)單的項(xiàng)目,或者為嵌入式系統(tǒng)進(jìn)行邏輯編程,你常常會(huì)需要對(duì)數(shù)據(jù)有一個(gè)直觀地了解——圖表、或者曲線圖,又或者僅僅想要解一個(gè)方程,這時(shí)候你會(huì)需要數(shù)據(jù)分析工具,比如MATLAB、Mathematica、MathCAD,它們都非免費(fèi),甚至價(jià)格昂貴,但是價(jià)格強(qiáng)大。


如果你的需求簡(jiǎn)單,SciLab、Octave、PyLab這些MATLAB的免費(fèi)“克隆”版本也提供了某些MATLAB的基本功能,語(yǔ)法也與MATLAB相近或相同。其中PyLab用Python實(shí)現(xiàn),如果你懂Python,或許可以將其利用到科學(xué)計(jì)算領(lǐng)域。


7. 文檔工具


工程環(huán)境中,你常常需要和他人分享想法,很多軟件都可以做到這點(diǎn),比如使用微軟的Visio可以提供流程圖、表,Word來(lái)編輯文檔,PowerPoint來(lái)做演示。但它們都非免費(fèi),有時(shí)候你更需要免費(fèi)或者更特化的文檔工具。


圖形可視化工具——我常用的是基于命令行的graphviz,以及擁有交互界面的yEd。


流程圖——使用圖形表達(dá)思路。Quick Sequence Diagram Editor很基本,但是足以幫助你達(dá)到繪制這些圖形的目的。


排版工具——你可以使用WYSIWYG工具,也可以選擇非WYSIWYG軟件,又或者TeX、LaTeX,隨個(gè)人喜好。


代碼自文檔工具——Doxygen很常見(jiàn),可以將代碼中的注釋轉(zhuǎn)化成文檔,JavaDoc則是轉(zhuǎn)為Java設(shè)計(jì)的文檔工具。


8. 終端以及通信工具


有時(shí)候你會(huì)需要通過(guò)串口進(jìn)行通信,這時(shí)你就需要終端工具了,在Web瀏覽器出現(xiàn)之前,這更為常見(jiàn)。曾經(jīng)與Windows綁定的HyperTerminal不夠強(qiáng)大,不建議使用,而且微軟在Vista之后也不再集成它。我個(gè)人更喜歡PuTTYtel和TeraTermPro。其它通信工具如FTP及其安全變種SFTP、SCP方面我最喜歡Cyberduck,現(xiàn)在支持Mac和Windows。


9. 軟件QA(質(zhì)量保障)工具


對(duì)于開(kāi)發(fā)者來(lái)說(shuō),為避免bug你肯定需要QA工具。我不是很清楚這方面,但是知道大概可以分以下幾類:


靜態(tài)分析工具。它是一種分析軟件的工具,既可以分析軟件源代碼,也可以分析編譯后的文件。最出名的莫過(guò)于面向C語(yǔ)言的lint,lint會(huì)像老是一樣在你代碼的錯(cuò)誤之處標(biāo)出紅線,標(biāo)出你的錯(cuò)誤。Java語(yǔ)言有FindBugs對(duì)應(yīng),能夠幫助衡量代碼復(fù)雜度——通常好的程序設(shè)計(jì)函數(shù)比較小,如果某個(gè)函數(shù)超過(guò)20-30行代碼,你可以考慮將其分解了,這樣也更便于設(shè)計(jì)和調(diào)試。


單元測(cè)試和代碼覆蓋率。大型軟件測(cè)試通常極難,這是公認(rèn)的;但是使用“單元測(cè)試”測(cè)試更小的軟件模塊卻簡(jiǎn)單得多。但是單元測(cè)試同樣也有不擅長(zhǎng)的領(lǐng)域,比如嵌入式系統(tǒng),雖然可以通過(guò)交叉編譯在PC上尋找bug,但并不能保證在嵌入式機(jī)器上效果一致。單元測(cè)試也有一定的技巧,比如可以編寫可重復(fù)利用的測(cè)試腳本。代碼覆蓋工具我僅見(jiàn)過(guò)同事使用Cantata++,但并不便宜。


代碼“美化器”。如果你和同事使用相同的編碼風(fēng)格,更容易尋找出簡(jiǎn)單的語(yǔ)法錯(cuò)誤。通常我們都有各自的編程習(xí)慣,但是可以通過(guò)軟件達(dá)到統(tǒng)一編程風(fēng)格的效果——比如自動(dòng)縮進(jìn)、tab空格轉(zhuǎn)換等等。我使用過(guò)Uncrustify,以及其GUI工具UniversalIndentGU。


10. 基本命令行工具


雖然GUI對(duì)于計(jì)算機(jī)交互是革命性的改進(jìn),但還有很多事用命令行做起來(lái)更加簡(jiǎn)單,比如使用腳本能夠輕易組合多個(gè)程序。如果你使用OS X或者Linux,那計(jì)算機(jī)上一般已經(jīng)預(yù)裝了UNIX命令行工具,Windows用戶可以下載相應(yīng)的二進(jìn)制文件。


其它,諸如7zip、CPU-Z、System Explorer之類的軟件雖然沒(méi)有放在這個(gè)列表中,但也都是非常實(shí)用的工具。


該文章在 2013/5/11 23:10:28 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved