引語:工欲善其事,必先利其器。可是,你是用一個利器幫你完成工做仍是多個利器配合一塊兒完成?你是某個某個領域某個點的專家仍是某個領域的全才?這取決於你想成爲一個什麼樣的人。合理運用各類工具,就有如神助。在各個軟件之間跳躍,自己也是一種減緩你思惟老化的方式,吧!php
聲明:本文將會是有爭議的,你能夠發表不一樣的見解!css
就以web開發舉例吧!說幾個應該要掌握的工具或者說順手的工具!前端
第1、一個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等等,反正我是不習慣了;java
第2、一個不錯的文本編輯器應該是要有的。如notepad++, sublime, vim, editplus等,下面我就他們這幾個編輯的的優缺點說一下以供參考!1. notepad++:缺點:軟件略大、不夠漂亮、沒法打開超大文件;優勢:免費軟件、查找方便、安裝插件方便;2. sublime:缺點:收費軟件、安裝插件麻煩、字符集識別不夠智能容易亂碼、有些設置不會被保存(習慣問題)、沒法打開超大文件;優勢:軟件小、足夠漂亮、左側有一個很棒的項目目錄瀏覽、右側有一個準確快速的文本map地圖(雖然notepad++有,可是真的沒辦法和這個相提並論)、自動定位查找(比notepad++更智能)、超牛掰的快捷鍵操做(牛掰到不敢相信);3. vim(win版):缺點:不少人不習慣用、配置麻煩、容易致使編碼顯示問題;優勢:免費軟件、可以打開超大文件、編輯shell一類腳本很美觀、文件操做方便(如指定刪除多少行、跳轉到最後等等)、我主要用來查看日誌文件變化等;4. editplus:缺點:收費軟件、不夠漂亮、沒法打開超大文件;優勢:查找文件、定位方便(標尺)、多窗口布局方便、我用的比較少;固然,真正的高手除外,也許他們都是在用vi, notepad,逼格必定要高;mysql
第3、一個不錯的前端調試工具仍是要有的。就如我前面一篇文章提到的,必定要會調試控制檯,三個基本瀏覽器Chrome, Firefox, IE必定要有,對於後端的調試工具自行研究如xdebug, hprof;git
第4、一個抓包工具仍是要會的。如httpwatch, fiddler, wireshark,由於有時候你是沒辦法經過控制檯去獲取到你想的數據的,經過有意的抓包能夠獲得你想要的東西,建議使用fiddler,不過fiddler對於https專用通道幾乎是沒辦法的,wireshark主要是針對tcp級的。web
第5、一個不錯的數據庫操做工具仍是要有的。如sqlyog, navicat, phpmyadmin,因爲使用的數據庫都是mysql,我基本上就用這些。經過我的感受,這幾個工具不該該被獨立開來,應該一塊兒配合使用。由於,他們只是一個互相彌補的關係,我竟沒有發現哪一個工具能夠實現本身全部想實現的功能。sqlyog:缺點:收費軟件、導入文件不支持編碼可選(容易致使亂碼)、sql界面不漂亮不支持自動換行、不支持動態編輯記錄的值(如只是簡單的查找篩選也不讓編輯其值);優勢:界面清晰(幾個窗體分割一目瞭然)、執行快捷鍵方便(在帶分號的一行按F9便可執行挺方便)、支持快速複製一行;navicat:缺點:收費軟件、界面複雜不清晰、不保存上次的設置或者我的習慣、導出麻煩、不支持快速複製新建一行、快捷鍵使用麻煩(即便打了分號也必須到本行開頭按F7才能夠);優勢:能夠動態改變查詢的值(我就是看上它這一點才使用的)、方便地複製出查詢結果到其餘地方如excel、導入支持多種格式支持編碼選擇、查詢界面可格式化如自動換行;phpmyadmin:缺點:不夠漂亮、一下子就斷開鏈接(web訪問,安全最重要);優勢:免費軟件、用於專用外網的數據庫訪問很好、導出方便(對於小文件能夠直接輸出sql,自行復制便可);sql
第6、一個文本比較工具仍是要有的。如bcompare, svn的diff功能,對於本身的改動,剛開始也許還能記清楚是哪裏改了,可是隨着量的增長,時間的增加,基本都忘卻了。藉助於這種比較工具,就一目瞭然了。svn的diff通常主要用於兩個版本之間的比較,而bcompare則是用於兩個不一樣的文件或者純文字之間的比較,能夠同步對比更改,界面更漂亮。shell
第7、對於前端的工做仍是要會的。如ps切圖,dreamweaver佈局或者其餘。能夠不精,但不該該不會!數據庫
第8、一個版本管理工具仍是要會的。如svn, git, 功能仍是蠻多的,不過真正項目中用到的功能,用一兩次就會了。可是,若是你不須要別人來教你那一兩次,你就明顯更牛掰了。
第9、遠程工具仍是要會幾個的。如securecrt, putty等客戶端工具, filezilla, flashxp, winscp等ftp工具。最好可以本身親自去配置一下這種服務器,一條龍體驗式服務,虛擬機裏隨便搞。
第10、不要只會一門語言。
哈哈,以上是一點我的的小合集,供你們娛樂參考!本文僅僅說出了大概,要真說下來,每一個小的點都不是一篇文章能搞定的。就當是個小地圖吧。
不但願:我只猜中了開頭,但是我卻猜不中這結局!
請指教!