乙個司空見慣的現象:你在學校上幾年學後拿著一張剛嶄新的畢業證文憑,去找到第乙份工作,然後馬上對不成文的規定和每天沒人提醒的複雜事情傻眼了。程式設計工作也不例外。
如果你不想成為其中一員,那麼你應該花時間學會下面這10項基本技能。
1、版本控制系統
這也許是計算機課程最大的疏漏。有些課程只教如何寫**,但卻往往忘記教學生如何去管理**。每乙個程式設計師都應該懂得利用 git 或 subversion 有效地建立 repository(倉庫),編輯與提交**,進行分支與合併,了解專案工作流。
2、學會寫文件
作為程式設計師要寫的不只有**。你還要寫專案的發布說明,給版本控制寫提交訊息,在系統裡面寫漏洞報告。這些和許多地方都需要清晰有效的文字交流—但這個技能電腦科學卻很少強調。
3、正規表示式
正規表示式本身就是一門語言,每乙個現代程式設計師都要擅長。每一門現代語言都支援正規表示式或者有相關標準庫。如果**需要校驗某字串是否含有 5 個字元、1 個破折號和 1 個數字,你應該馬上就能寫出 /^[a-z]-\d$/。
4、學會使用庫
現在都 2014 年了,沒人還需要用正規表示式從 url 析取主機名。因為每一門現代程式語言都有執行常用功能的標準庫。
程式設計師需要明白,那些經過開發、測試和除錯的**通常要比自己重新寫的**更好。更重要的是,無需編寫的**實現起來要快得多。
5、sql
有人說,很多人的 sql 都是在工作中學會的。資料庫怎麼會是選修課呢?有不用資料庫的嗎?
把資料存進平面檔案的時代已經結束了。一切東西都要進出資料庫,而 sql 則是訪問資料的語言。這是一門說明性語言,不是程式語言,所以用它來解決問題時需要新的思考方式。每乙個程式設計師都應該了解資料庫標準化基礎,能夠執行 select(及 inner、outer join)、insert、update 和 delete。
6、使用ide、編輯器及cli工具
只懂用鋸子的木匠永遠也無法出師,所以計算機專業畢業的人只懂 notepad 或 pico 令人驚詫。程式設計工具幫助操縱**及其他資料,令程式設計師生活變得容易。所以每乙個程式設計師都應該知道命令列、shell 指令碼、find、grep 及 sed 的使用。
7、debugging
每乙個程式設計師都應該知道利用互動式偵錯程式或在**中點綴一些輸出語句來除錯程式。通過逐步求精來跟蹤問題的能力實在是太重要了。
8、防錯性地程式設計
錯誤總是難免的,哪怕是明星程式設計師也不例外。失控是世界的常態,出錯毫不奇怪。防錯性程式設計正是理解了這個事實。如果東西不會不出錯,我們就不會檢查檔案開啟成功與否,不會檢查客戶 id 是否合法數字,不用測試**是否允許正確。
程式設計師需要知道,編譯器告警是有用的工具,可讓我們生活得更舒適,而不是要避而遠之的麻煩事。每乙個程式設計師都應該知道為什麼每乙個 php 程式都要這樣開頭:
set_error_reporting(e_all)每乙個 perl 程式都要寫上這些語句:
use strict; use warnings;9、學會團隊協作很少程式設計工作會讓你自己乙個人完成,如果你經常這麼做,智力會受損,表現會變弱。你的**必須與別人的互動或者混合。再有才的程式設計師,如果無法與別人協作,都會給專案造成負面影響,並迅速成為組織的負擔。
10、充分利用現有**
在學校期間,每一次作業都是乙個新專案。但現實世界不是這樣的。對於剛工作的人來說,所接到的第一項任務往往是修改**漏洞。然後,再在現有**庫的基礎上為現有系統增加乙個小功能。設計新**那是幾個月後的事情,如果幸運的話。
最後,不管你是轉行也好,初學也罷,高階也可,如果你想學程式設計~
【值得關注】我的c/c++程式設計學習交流俱樂部【點選進入】
偶然看到 大學期間,應該找到自己的目標
不記得在 儲存下來的,侵刪 你們應該找到自己的目標,不是說立刻,而是在盡量短的時間內。在這裡我給你們一些建議,希望能幫助你們找到目標。第一步 拋開所有阻礙,從專業出發,想想自己以後到底要做怎樣的工作,或是怎樣的事業。找一張白紙,把自己最終的決定記錄下來,請不要猶豫不決。考研?考公務員?教師?技術員?...
程式設計師需要學會的十個技巧
作為一枚程式設計師,雖然寫 很重要,但是呢,如果在工作中不會使用一些技巧,經常也是焦頭爛額。下面我們來分享一些工作中的技巧,讓你能輕鬆應對各種工作中的大坑。拿到需求後,想清楚,再動手寫 看了需求後,多多少少都會存在一些問題,或可能存在一些理解上的錯誤,這個時候不交流,就會頭破血流。不愛說話和溝通,需...
新手程式設計師必備十項技能
初出茅廬的你帶著仍殘留墨香的畢業證書踏上工作崗位,馬上就被書上沒寫的規則和各種繁雜的日常事務來了個下馬威。這樣的故事實在是司空見慣,程式設計工作也不例外。沒有幾個學生能 100 為自己的第乙份真正的工作做好準備。如果你不想成為其中之一,請學學以下這 10 項無需手把手指導就能學會的基本技能 1 版本...