引語:工欲善其事,必先利其器。但是,你是用一個利器幫你完成工作還是多個利器配合一起完成?你是某個某個領域某個點的專家還是某個領域的全才?這取決於你想成為一個什么樣的人。合理運用各種工具,就有如神助。在各個軟件之間跳躍,本身也是一種減緩你思維老化的方式,吧!
聲明:本文將會是有爭議的,你可以發表不同的看法!
就以web開發舉例吧!說幾個應該要掌握的工具或者說順手的工具!
第一、一個IDE應該是要有的。如phpstorm, netbeans, eclipse, zend, vs等,還是比較常見的,各種工具功能大概都差不多,關鍵是看你習慣哪一個。一般來說,年紀越大,資歷越老的人,他們更願意守住那一畝三分地(舊習慣),他們越不容易接受一些新觀念,新習慣。而對於新手級別的人則恰好相反,他們很容易接受新的東西,因為他壓根就沒習慣過其他的。比如,我最開始使用的是zend的工具,后來聽別人說phpstorm不錯,然后,幾乎是半天之內,我就再也不用zend了,它已經被我拋棄了。netbeans, eclipse可能對於java的開發會更實用的一點,vs則對於微軟那一大全家桶是必不可少的,總之都是些好工具,也都有自己的專長,但是總體來說都有幾個重要的功能,也就夠了:1. 快速索引,函數跳轉快;2. 調試工具方便,如 打開命令行;3. 整個項目搜索,查找方便;4. 無限次撤消與重做,各種快捷鍵(如注釋); 5. 內建多種可調試語言,如php, js, css, markdown ... ;當然,真正的高手除外,他們都是不用這種智能IDE的,他們都在用什么vim, emac等等,反正我是不習慣了;
第二、一個不錯的文本編輯器應該是要有的。如notepad++, sublime, vim, editplus等,下面我就他們這幾個編輯的的優缺點說一下以供參考!1. notepad++:缺點:軟件略大、不夠漂亮、無法打開超大文件;優點:免費軟件、查找方便、安裝插件方便;2. sublime:缺點:收費軟件、安裝插件麻煩、字符集識別不夠智能容易亂碼、有些設置不會被保存(習慣問題)、無法打開超大文件;優點:軟件小、足夠漂亮、左側有一個很棒的項目目錄瀏覽、右側有一個准確快速的文本map地圖(雖然notepad++有,但是真的沒辦法和這個相提並論)、自動定位查找(比notepad++更智能)、超牛掰的快捷鍵操作(牛掰到不敢相信);3. vim(win版):缺點:很多人不習慣用、配置麻煩、容易導致編碼顯示問題;優點:免費軟件、能夠打開超大文件、編輯shell一類腳本很美觀、文件操作方便(如指定刪除多少行、跳轉到最后等等)、我主要用來查看日志文件變化等;4. editplus:缺點:收費軟件、不夠漂亮、無法打開超大文件;優點:查找文件、定位方便(標尺)、多窗口布局方便、我用的比較少;當然,真正的高手除外,也許他們都是在用vi, notepad,逼格一定要高;
第三、一個不錯的前端調試工具還是要有的。就如我前面一篇文章提到的,一定要會調試控制台,三個基本瀏覽器Chrome, Firefox, IE一定要有,對於后端的調試工具自行研究如xdebug, hprof;
第四、一個抓包工具還是要會的。如httpwatch, fiddler, wireshark,因為有時候你是沒辦法通過控制台去獲取到你想的數據的,通過有意的抓包可以得到你想要的東西,建議使用fiddler,不過fiddler對於https專用通道幾乎是沒辦法的,wireshark主要是針對tcp級的。
第五、一個不錯的數據庫操作工具還是要有的。如sqlyog, navicat, phpmyadmin,由於使用的數據庫都是mysql,我基本上就用這些。通過個人感覺,這幾個工具不應該被獨立開來,應該一起配合使用。因為,他們只是一個互相彌補的關系,我竟沒有發現哪個工具可以實現自己所有想實現的功能。sqlyog:缺點:收費軟件、導入文件不支持編碼可選(容易導致亂碼)、sql界面不漂亮不支持自動換行、不支持動態編輯記錄的值(如只是簡單的查找篩選也不讓編輯其值);優點:界面清晰(幾個窗體分割一目了然)、執行快捷鍵方便(在帶分號的一行按F9即可執行挺方便)、支持快速復制一行;navicat:缺點:收費軟件、界面復雜不清晰、不保存上次的設置或者個人習慣、導出麻煩、不支持快速復制新建一行、快捷鍵使用麻煩(即使打了分號也必須到本行開頭按F7才可以);優點:可以動態改變查詢的值(我就是看上它這一點才使用的)、方便地復制出查詢結果到其他地方如excel、導入支持多種格式支持編碼選擇、查詢界面可格式化如自動換行;phpmyadmin:缺點:不夠漂亮、一會兒就斷開連接(web訪問,安全最重要);優點:免費軟件、用於專用外網的數據庫訪問很好、導出方便(對於小文件可以直接輸出sql,自行復制即可);
第六、一個文本比較工具還是要有的。如bcompare, svn的diff功能,對於自己的改動,剛開始也許還能記清楚是哪里改了,但是隨着量的增加,時間的增長,基本都忘卻了。借助於這種比較工具,就一目了然了。svn的diff一般主要用於兩個版本之間的比較,而bcompare則是用於兩個不同的文件或者純文字之間的比較,可以同步對比更改,界面更漂亮。
第七、對於前端的工作還是要會的。如ps切圖,dreamweaver布局或者其他。可以不精,但不應該不會!
第八、一個版本管理工具還是要會的。如svn, git, 功能還是蠻多的,不過真正項目中用到的功能,用一兩次就會了。但是,如果你不需要別人來教你那一兩次,你就明顯更牛掰了。
第九、遠程工具還是要會幾個的。如securecrt, putty等客戶端工具, filezilla, flashxp, winscp等ftp工具。最好能夠自己親自去配置一下這種服務器,一條龍體驗式服務,虛擬機里隨便搞。
第十、不要只會一門語言。
哈哈,以上是一點個人的小合集,供大家娛樂參考!本文僅僅說出了大概,要真說下來,每個小的點都不是一篇文章能搞定的。就當是個小地圖吧。
不希望:我只猜中了開頭,可是我卻猜不中這結局!
請指教!
