㈠ 程序員有哪些常見的壞習慣
好的程序員炫耀代碼,不好的程序員炫耀工具,自覺用VIM,EMACS的用Eclipse,VS的高級,喜歡問怎麼辦而不是為什麼。
㈡ 有前途的程序員8個習慣,你擁有幾個
謹慎說Yes
在沒有搞清楚開發需求、任務工作量、團隊期望值之前,有前途的程序員不會輕易答應。特別是對於新人來說,比較急於表現自己,對於同事或者老闆的工作安排來者不拒,精神可嘉,方法不可取。承諾太多,會出現自己無法按時完成的情況,即使按時完成,也可能沒有達到別人的期望值,長期以往別人對你的失望會越來越多。
2敢於說No
看起來和第一條雷同,其實細究起來不一樣。第二條執行起來比第一條難得多。當遇到明顯不合理的要求時,可以考慮拒絕,前提是准備好了全面充分的理由。不要經常說No,但是一旦說了,就要切中要害。有前途的程序員不會悶頭幹活,知道自己的定位和團隊期望,分清楚哪些是不合理的要求,哪些是合理的要求,然後把明顯不合理的要求和領導溝通下,取得支持。
3構建自己的知識體系
在信息爆炸的年代,碎片化的知識很多,系統學習的時間越來越少,如果沒有自己的知識體系,很容易被淹沒在知識的海洋中,而且難以記憶。100分程序員推薦的做法,通過Wiki或者其他知識管理工具構建一個知識框架,大的分類可以包括軟技能、架構、語言、前端、後端等,小的分類可以更細化。
4培養大局觀觀念
程序員比較容易陷入的困境是專注於自己的一畝三分地,不關心團隊的進度和業績,也不關心軟體的整體架構和其他模塊。這種狀態長期下去沒有好處,特別是在大公司中,逐漸成長為一顆螺絲釘。100分程序員會在工作之餘,多看看其他人在做什麼,看看團隊的整體規劃,看看軟體系統的架構和說明文檔。對自己的工作更理解,而且知道為什麼這個產品應該這樣設計,為什麼領導應該這樣做規劃,這種大局觀非常有利於自己的職業生涯。
5代碼規范
程序員在新手時期需要培養良好的代碼規范。最直接的辦法,遵循公司已有的代碼規范(如果沒有類似的規定,也是醉了),從簡單的變數命名到模塊劃分,有些規則可以導入到編碼工具中,更多的部分需要自己體會和遵守。關於此方面的知識,最權威的書籍是《代碼大全》,別誤會,書名是個美麗的錯誤,裡面不是代碼集錦。對於新手來說,養成一個統一的編碼風格非常重要,是基礎一步。
6代碼審查
把這個單獨拎出來說,是因為對於程序員來說很重要。很多快速成長的公司沒有這個步驟,建議大家能夠堅持下來。讓別人審查自己的代碼,可以得到更多的反饋,也是和同事交流的好機會;審查別人的代碼,可以借鑒別人的經驗和思路。通常情況下,代碼審查比自己寫代碼的收獲更大,對於新手來說更有價值。只要你想做,不論形式是不是正規,都可以執行下去,最好形成團隊的習慣。
7一個時間段內只專注於一種類型的語言
如果你正在設計或開發網站,你將需要同時熟悉多種不同的語言。你可能會想同時學習所有的這些語言,特別是考慮到它們是如何相互關聯的。
我想,在某種程度上,這是不可避免的。但如果你真的想快速提高,我建議你專注於一個特定領域的專業知識。你想更好地利用CSS?把你的重點放在這一點。嘗試使用一個單一的HTML文檔只使用CSS實現不同的布局。 CSS Zen Garden 是一個使用相同布局實現不同頁面樣式非常棒的例子。你也可以通過查找元素的列表,並把精力集中在裡面。舉個例子來說,你熟悉CSS2,但想提升對 CSS3 的理解,你可以學習CSS3屬性並逐一的實現它們。你可以閱讀當前的 CSS3規范 ,還可以通過每個模塊的學習來了解它在瀏覽器上能(或不能)做什麼。
8通過注釋來寫邏輯
說到編碼,我有堅持很多原則和想法。其中一個就是,代碼中95%都是邏輯。另一個就是從人類語言到編程語言,邏輯並沒有改變。
㈢ 程序員的職業生涯通常會遇到哪些為人熟知的職業瓶頸該如何應對
會的。身邊同事工資翻了一番,但自己跳槽加薪難,面試無回復,跳槽加薪不高;我想離開一線的開發工作,做一個技術管理的職位。我對自己的技術實力和項目管理能力沒有信心。不願意寫一輩子的代碼,想尋求職業突破(進入知名公司,拿高薪)卻找不到方法,缺乏明確的職業規劃。這類朋友還是比較多的,主要是想學但沒有方向,這應該是廣大程序員工作人群的困惑。
其實,剛開始的時候掘坦,我並不喜歡把自己的作品記錄下來,更不喜歡把它寫成微博,發布在公眾號上。即使在公司里,我也嘲笑它,認為這只是形式主義。但在我被困住的那些年裡,我一直在寫作,讓自己不去想那些事情。這次經歷讓我想到了用一種新的方式總結經驗。乍一看,根據某一條目逐字逐句地輸入你的工作經歷似乎是在浪費時間。但在不斷總結工作經驗的過程中,我們對工作進行了更仔細的梳理。這實際上是一個思考的過程,在經驗中尋找共性,並逐漸形成自己的工作方式。隨著時間的推移,你會擺脫焦慮,找到一條適合自己的道路。
㈣ 程序員該有哪些職業道德
to accept responsibility in making decisions consistent with the safety, health, and welfare of the public, and to disclose promptly factors that might endanger the public or the environment;決策時要維護公眾的安全、健康、福利,並及時披露任何危及公眾的因素。
to avoid real or perceived conflicts of interest whenever possible, and to disclose them to affected parties when they do exist;盡量迴避存在或可預見的利益沖突,如有沖突存在應及時向波及對象披露。
to be honest and realistic in stating claims or estimates based on available data; 對現有的數據的聲明或估計應誠實、客觀
to reject bribery in all its forms; 拒絕任何形式的賄賂
to improve the understanding of technology; its appropriate application, and potential consequences; 增進個人對技術及其應用和潛在後果的理解
to maintain and improve our technical competence and to undertake technological tasks for others only if qualified by training or experience, or after full disclosure of pertinent limitations; 保持並提高自身技術實力,在確保能力和經驗勝任、並充分披露有關局限的情況下,方可接受他人的技術性委託
to seek, accept, and offer honest criticism of technical work, to acknowledge and correct errors, and to credit properly the contributions of others; 對技術成果,尋求、接受和提供誠懇的批評,承認和糾正錯誤,和恰當地承認他人的貢獻
to treat fairly all persons and to not engage in acts of discrimination based on race, religion, gender, disability, age, national origin, sexual orientation, gender identity, or gender expression;公平對待所有人,不做出任何有關種族、地域、性別、殘障、年齡、國籍、性取向、性別認知、性別表現的歧視行為。
to avoid injuring others, their property, reputation, or employment by false or malicious action; 避免因錯誤或惡意的行為損害他人人身、財產、名譽、或工作。
to assist colleagues and co-workers in their professional development and to support them in following this code of ethics.幫助同事的職業發展,並支持他們遵守職業行為准則。