VOOZH about

URL: https://read01.com/zekA4D.html

⇱ 新手程式設計師應該知道的7件事 - 壹讀


Sunday, Apr 12, 2026

新手程式設計師應該知道的7件事

2015/09/18 來源:51CTO

資深軟體開發人員分享的一些關於專業化編程的經驗和教訓,這些經驗教訓都是經過多年曆練總結得出的。

如果你剛進入專業的軟體開發世界,那麼得益於在計算機科學和編程方面的教育和/或培訓,你已經具備了一定的知識。但是真正的開發業務工作又和在學校編程不同,這是你不可能從大學課程或編碼學校中學會的東西。

為了了解新手程式設計師需要知道哪些內容,我諮詢了一些經驗豐富的編碼老將,這些「老」將全部有著至少十年(有的甚至是幾十年)作為專業軟體工程師的工作經驗。我的問題是,如果他們現在回過頭去,哪些技能和知識是他們第一次以寫代碼為生的時候就希望能夠掌握的。無論你是一個剛畢業剛開始自己第一份開發工作的大學生,還是年長的轉業到編程領域的工作者,歡迎閱讀這7條專為新手程式設計師總結的建議。

👁 Image
...

1.了解底層系統

軟體開發的一個重要組成部分是,了解程式語言。但是,正如有些人建議的那樣,開發人員還需要了解堆棧下面是怎麼回事。

「很多語言抽象化了系統層正在發生的事情,這種抽象是很有用的因為它讓開發人員在大多數時間裡變得更高效。」Pete Bul,Acquia公司的一位支持工程師說。「但是,當你碰到一個障礙,一個特別堅實的bug,需要更深層次地了解內部究竟發生了什麼的時候,那麼了解底層系統就是一個很有用的技能,可以讓你調試進程,查看系統調用,並且真正意義上看到代碼片段與系統的其餘部分的交互,」他在郵件中這樣寫道。

無獨有偶,Robert Douglass,Customer Satisfaction with Platform.sh的副總裁告訴我,「當我剛開始編程的時候,對於計算機我有很多不明白的地方。文件系統,網絡連接以及內存機制就是三個明顯的例子。不了解這些,意味著我可能會不知道一些我想要呈現的編程結構的目標。」

2.知道命令行工具

作為一個開發人員,你必然需要將大量的時間花在IDE或代碼編輯器上。但是,知道命令行這個工具有助於你更便捷地完成工作。

「有時候,你可能會處在一種需要緊急完成任務但工具卻非常有限的情境中。」一位已有20年工作經驗,並希望能夠匿名的資深程式設計師告訴我, 「知道shell就要像呼吸一樣自然。掌握類似於find、comm、diff、vi/vim、sed、awk等工具。知道如何用命令行來查找文件等等,都可以在你寫腳本的時候為你減負。」

Bull,是一位先用微軟工具,然後逐漸轉移到Linux的程式設計師,對此表示贊同:「了解命令行的來龍去脈以及掌握所有的實用程序真的很重要。這是我經歷過的切身體會。」

3.調試器是我們的好朋友

程式設計師很大一部分時間會涉及追蹤bug。Dave Varon,Novartis公司的一位生物信息學開發人員,著重強調了調試器的優點以及它是如何減輕了時間的初始成本。 「一定要掌握如何使用調試器!」他告訴我, 「磨刀不誤砍柴工,事先不妨花個一兩天時間進行配置。如果沒有得到預期結果,那就調試:設置斷點,逐步調試代碼,特別要注意第三方代碼。這可以避免很多挫折,也能讓你更好地了解那些只能通過閱讀別人的代碼才能知道的編碼知識。」

4.學習編寫測試

一些開發人員認為,單元測試,也就是編寫測試來驗證小單位代碼是否在做應該做的事情,是非常關鍵的。Richard Handloff,Strategic Power Systems的資料庫開發人員,就是其中之一。 「我認為我曾給那些想要學習編程的人提的最佳建議就是,要學習編寫良好的測試並且學習在進程早期就開始編寫測試,」他在回信給我的郵件中這樣寫道。

5.積極應對變化和學習新系統

大家都知道,現在的技術變化很快。這不僅適用於深受我們喜愛的消費品,對於程式設計師使用的底層系統、語言和工具同樣如此。

Adam Wulf, Milestone Made公司的移動開發者和創始人建議,要積極應對變化,並始終保持在技術的前沿。 「現在,我的建議是每隔4年就得計劃去學習基本上全新的技術堆棧,」他說, 「好的基礎知識永遠是可用的,但是你每天要用的工具和技術差不多每隔4年就會完全不同。」

「項目永遠不可能只用一種語言和一種框架,」一位不願意透露姓名的開發人員說, 「你不能吊死在一種技術上,要習慣於從一個項目到另一個項目的轉移,一種語言/技術到另一種語言/技術的擴散,」他寫道。

6.良好的合作

儘管程式設計師習慣於戴上耳機獨自工作,但你依然要與其他人合作。Ben Miller,Sinclair數碼公司的CTO,強調了團隊工作對於事業成功的重要性。 「大項目往往意味著大量活動組件的碰撞,需要處理組件如何結合和劃分的問題,如果你不小心的話,可能會導致難以預測的工程問題。」他在電子郵件中寫道。 「在優化算法之前,和團隊一起確保沒有問題是交叉的,可以讓每個人要解決的問題都變得簡單起來。編碼是一項團隊遊戲!「

Varon重申了人際交往能力的重要性,他說:「如果你通過再次查閱API和調試,依然不能弄清楚問題的根源,那就應該尋求幫助。哪怕你覺得你寫的是傑作,也並不意味著沒有廢話或者不能更好。要和同事融洽相處。有時候只需要大聲地說出這個問題或許就會有靈光一現。「

一些匿名人士還分享了類似的想法,比如說成為團隊成員。 「提升團隊凝聚力,樂於助人,即使是一些瑣碎的工作,」他說。但是,在這種情況下,他警告說,「一定要有一個度,不要撿了芝麻丟了西瓜,忘記了自己的本職工作。」

7.不要害怕失業

Miller有一個特別有趣的忠告。 「跳槽就是晉升,」他告訴我。 「尋找解決問題最簡單的方法,可以讓你的代碼彈性化和免於維護,這樣你的上司就會交給你更多的事情。他們甚至會要求你將你的做法教授給別人,「他解釋說。 「總而言之,一味地擔心失業可能會阻礙職業生涯的前進。」

您可能感興趣
免責聲明:本文內容來源于51CTO,文章觀點不代表壹讀立場,如若侵犯到您的權益,或涉不實謠言,敬請向我們提出檢舉
最新文章 / 服務條款 / 私隱保護 / DMCA / 聯絡我們

壹讀/READ01.COM