www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]作為一個軟件開發(fā)者,你不可避免地需要用到各種工具來設(shè)計(jì)、理解、編輯任何程序,本文作者按類型總結(jié)了10類開發(fā)者須知的工具?! ∶庳?zé)聲明:“最好”的軟件工具通常屬于主觀看法,也許你并不同意我的觀點(diǎn),但是也

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

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


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

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

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

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

  值得注意的是,有很多知名網(wǎng)站提供倉庫托管服務(wù),比如bitbucket.org、SourceForge、GoogleCode以及Github等等,這些網(wǎng)站都提供免費(fèi)托管服務(wù),但在具體服務(wù)支持與收費(fèi)上各不相同。
  2. 文件比較工具   無論你是想要與版本控制系統(tǒng)合并代碼,還是僅僅想要比較兩個文件的不同,文件比較工具都是非常有用的。其中diff是一個非常有名的命令行比較工具,我也喜歡Beyond Compare這款圖形界面比較工具——可惜它并非免費(fèi),但是并不貴而且簡單、強(qiáng)大。除此之外,常見文件比較工具還有SourceGearDiffMerge(免費(fèi)、跨平臺=Windows/OS X/Linux),Compare It!(收費(fèi)、僅支持Windows),DeltaWalker(較貴、僅支持OSX)以及UltraCompare(較貴、跨平臺)。
  3. 編輯器   處理文本文件的難以取決于你使用的軟件。重量級的編輯器,如Eclipse、NetBeans、Visual Studio都屬于是IDE(integrateddevelopment environment,集成開發(fā)環(huán)境),如果你需要做特定的工作,他們都非常強(qiáng)大。但有時候你僅僅想要簡單、快速地編輯文件,系統(tǒng)自帶的編輯器(Windows下的Notepad和Machine下的TextEdit)雖然輕量但是不夠強(qiáng)大。這里介紹幾個中量級的編輯器:Windows平臺的Notepad++、Mac平臺的TextWrangler都是不錯的免費(fèi)編輯器,還有GNUemacs、Vim這樣強(qiáng)大、可擴(kuò)展的自由軟件。
  4. 構(gòu)建工具   如果你使用IDE進(jìn)行開發(fā),僅僅單擊“Build”即可以為你編譯程序的源代碼。但是注意:編譯軟件時常常有很多細(xì)節(jié)的編譯選項(xiàng),而使用IDE時常常被深藏在復(fù)雜的菜單中。我認(rèn)為,專業(yè)的程序員應(yīng)該使用可定義的構(gòu)建工具,選擇正確的編譯選項(xiàng)達(dá)到最優(yōu)效果。
  5. 腳本工具   有時候你需要快速整合多個軟件以達(dá)到某個目的,這時很難選擇C或者C++這樣需要編譯的編程語言,因?yàn)樗鼈冊趫?zhí)行前需要先編譯成可執(zhí)行的文件。此時,更好的解決方案是腳本語言,它們通常集成在操作系統(tǒng)中,編寫一個腳本甚至可以在多臺計(jì)算機(jī)中運(yùn)行。

  常見現(xiàn)代腳本語言有Python、Ruby、Groovy、awk、Perl等等。不論你更喜歡那種,我建議你選擇其中一款。我很喜歡Python,不僅因?yàn)樗唵?、鼓勵好的編程?guī)范,而且擁有強(qiáng)大的調(diào)試工具——基于Eclipse的PyDev。借助PyDev,你可以設(shè)置斷點(diǎn)、并端部執(zhí)行你的腳本。
  6. 數(shù)值分析工具   除非你打算做一些及其簡單的項(xiàng)目,或者為嵌入式系統(tǒng)進(jìn)行邏輯編程,你常常會需要對數(shù)據(jù)有一個直觀地了解——圖表、或者曲線圖,又或者僅僅想要解一個方程,這時候你會需要數(shù)據(jù)分析工具,比如MATLAB、Mathematica、MathCAD,它們都非免費(fèi),甚至價格昂貴,但是價格強(qiáng)大。

  如果你的需求簡單,SciLab、Octave、PyLab這些MATLAB的免費(fèi)“克隆”版本也提供了某些MATLAB的基本功能,語法也與MATLAB相近或相同。其中PyLab用Python實(shí)現(xiàn),如果你懂Python,或許可以將其利用到科學(xué)計(jì)算領(lǐng)域。
  7. 文檔工具   工程環(huán)境中,你常常需要和他人分享想法,很多軟件都可以做到這點(diǎn),比如使用微軟的Visio可以提供流程圖、表,Word來編輯文檔,PowerPoint來做演示。但它們都非免費(fèi),有時候你更需要免費(fèi)或者更特化的文檔工具。

? ??圖形可視化工具——我常用的是基于命令行的graphviz,以及擁有交互界面的yEd。 ? ?? ??流程圖——使用圖形表達(dá)思路。Quick Sequence Diagram Editor很基本,但是足以幫助你達(dá)到繪制這些圖形的目的。 ? ?? ??排版工具——你可以使用WYSIWYG工具,也可以選擇非WYSIWYG軟件,又或者TeX、LaTeX,隨個人喜好。 ? ?? ??代碼自文檔工具——Doxygen很常見,可以將代碼中的注釋轉(zhuǎn)化成文檔,JavaDoc則是轉(zhuǎn)為Java設(shè)計(jì)的文檔工具。 ? ?  8. 終端以及通信工具   有時候你會需要通過串口進(jìn)行通信,這時你就需要終端工具了,在Web瀏覽器出現(xiàn)之前,這更為常見。曾經(jīng)與Windows綁定的HyperTerminal不夠強(qiáng)大,不建議使用,而且微軟在Vista之后也不再集成它。我個人更喜歡PuTTYtel和TeraTermPro。其它通信工具如FTP及其安全變種SFTP、SCP方面我最喜歡Cyberduck,現(xiàn)在支持Mac和Windows。
  9. 軟件QA(質(zhì)量保障)工具   對于開發(fā)者來說,為避免bug你肯定需要QA工具。我不是很清楚這方面,但是知道大概可以分以下幾類:

? ??靜態(tài)分析工具。它是一種分析軟件的工具,既可以分析軟件源代碼,也可以分析編譯后的文件。最出名的莫過于面向C語言的lint,lint會像老是一樣在你代碼的錯誤之處標(biāo)出紅線,標(biāo)出你的錯誤。Java語言有FindBugs對應(yīng),能夠幫助衡量代碼復(fù)雜度——通常好的程序設(shè)計(jì)函數(shù)比較小,如果某個函數(shù)超過20-30行代碼,你可以考慮將其分解了,這樣也更便于設(shè)計(jì)和調(diào)試。 ? ?? ??單元測試和代碼覆蓋率。大型軟件測試通常極難,這是公認(rèn)的;但是使用“單元測試”測試更小的軟件模塊卻簡單得多。但是單元測試同樣也有不擅長的領(lǐng)域,比如嵌入式系統(tǒng),雖然可以通過交叉編譯在PC上尋找bug,但并不能保證在嵌入式機(jī)器上效果一致。單元測試也有一定的技巧,比如可以編寫可重復(fù)利用的測試腳本。代碼覆蓋工具我僅見過同事使用Cantata++,但并不便宜。 ? ?? ??代碼“美化器”。如果你和同事使用相同的編碼風(fēng)格,更容易尋找出簡單的語法錯誤。通常我們都有各自的編程習(xí)慣,但是可以通過軟件達(dá)到統(tǒng)一編程風(fēng)格的效果——比如自動縮進(jìn)、tab空格轉(zhuǎn)換等等。我使用過Uncrustify,以及其GUI工具UniversalIndentGU。 ? ?  10. 基本命令行工具   雖然GUI對于計(jì)算機(jī)交互是革命性的改進(jìn),但還有很多事用命令行做起來更加簡單,比如使用腳本能夠輕易組合多個程序。如果你使用OS X或者Linux,那計(jì)算機(jī)上一般已經(jīng)預(yù)裝了UNIX命令行工具,Windows用戶可以下載相應(yīng)的二進(jìn)制文件。

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉