本文是《程序猿叨叨叨》系列文章中的其中一篇,想要了解更多相關(guān)的文章,歡迎猛戳藍(lán)字前往閱讀。
基于之前入坑新生碼農(nóng)注意事項(xiàng)系列的文章,本期我們繼續(xù)來八一八剛?cè)肟拥男』锇閭冊谄綍r的開發(fā)學(xué)習(xí)中需要注意哪些。
1. 不要寫死
“不要寫死”,這句話或許是小伙伴們們剛?cè)肼殨r聽到的最多的話,為了更好地適應(yīng)以后的工作崗位,從現(xiàn)在起大家需要養(yǎng)成“不要寫死”的習(xí)慣。不要寫死范圍很廣,可以是圖片的尺寸、控件的寬高,也可以是方法封裝和文本內(nèi)容,它的核心思想是:通用性、普適性、可擴(kuò)展性。

筆者做安卓開發(fā),就拿安卓常用的適配器 舉例子,平時我們寫適配器都會根據(jù)ListView/GridView/RecyclerView的子項(xiàng)的具體布局寫具體的Adapter,但是為了更好地適應(yīng)不同的布局,我們通常會寫一個通用的Adapter,這樣不論我們的布局多豐富,我們只要調(diào)用這個Adapter就好,節(jié)省了代碼的行數(shù),提高了工作效率。
曾經(jīng)看到這么一個小故事:
一個老總想要招聘一名高級程序員,經(jīng)過輪輪淘汰,最終留下兩個人,能力不相上下,正當(dāng)老總在愁該選誰的時候,公司的技術(shù)主管提出了一個建議,讓兩人根據(jù)需求寫一個小項(xiàng)目,然后項(xiàng)目依次迭代更新,最后選擇BUG少的那一位。在小項(xiàng)目的第一個版本,兩人寫的程序都運(yùn)行流暢,看不出誰強(qiáng)誰弱,第二個版本、第三個版本...隨著版本的升級,程序員A的程序開始屢屢出現(xiàn)崩潰的情況,而程序員B的程序依然運(yùn)行流暢,沒有太大的問題,后來程序員B應(yīng)聘成功。
其實(shí)在項(xiàng)目實(shí)戰(zhàn)中經(jīng)常會有迭代更新的情況,而不要寫死是一個很重要的思想,它不僅僅是用動態(tài)變量代替常量那么簡單,還關(guān)系到程序的可擴(kuò)展性、魯棒性,它需要我們在平時寫代碼的過程中多思考,日積月累,一點(diǎn)點(diǎn)提高對不要寫死的理解。
2. 保持溝通
在筆者實(shí)習(xí)前,我們老師曾給我們講過這樣一個故事:
之前有一名到大我兩屆的師兄,去公司實(shí)習(xí),拿到了一個小任務(wù),結(jié)果做了兩個月都沒有完成。后來他的組長去檢查進(jìn)展,發(fā)現(xiàn)他因?yàn)榭ㄔ谝粋€小問題上,自己百度谷歌一直沒有找到解決方法,然后一個人悶在那里毫無頭緒,最后整個項(xiàng)目因?yàn)樗慈缙谕瓿扇蝿?wù)延遲了發(fā)布時間。

我希望通過這個故事讓各位小伙伴們認(rèn)識保持溝通的重要性。我發(fā)現(xiàn),大學(xué)剛畢業(yè)的準(zhǔn)程序猿們都有一個通?。?strong>不善言辭,不自信。很多人進(jìn)入實(shí)習(xí)崗位以后,變得躡手躡腳,因?yàn)樽约杭疾蝗缛?,怕問的問題太低級被自己的老大嫌棄。但是大家可能忽略了一點(diǎn):我們是應(yīng)屆實(shí)習(xí)生,這是大家有目共睹的事實(shí),技不如人很正常,大多數(shù)人不會因?yàn)槟銌柕图壍膯栴}看不起你,因?yàn)榇蠹叶际菑倪@個階段過來的;而且你有一個很大的優(yōu)勢,那就是你很年輕,你是允許犯錯誤的,但是你需要在面臨錯誤、面臨問題的時候,能夠主動尋找解決方案,即使自己找不到,也會通過主動溝通,集思廣益,以此來提高自己,那就是年輕的資本!而如果你擁有這個資本卻不使用,一直被動,這樣久而久之,你會一直處于原地跑的狀態(tài),當(dāng)你不再年輕,你就被淪為真正意義上的老菜鳥!Sorry,你被淘汰了!
3. 先弄明白再寫代碼

我學(xué)軟件工程的都知道,一個項(xiàng)目制作的流程往往是:
需求分析->概要設(shè)計->詳細(xì)設(shè)計->編碼->測試->發(fā)布
我們可以看到,需求分析在編碼之前,這就是本節(jié)我想和大家說說的。正好比我們?nèi)ヂ眯?,我們一定要知道自己去哪里,?guī)劃好行程才上路,編碼亦是如此。

拿軟件工程的服務(wù)外包舉例子。一個外包團(tuán)隊(duì)在接手一個項(xiàng)目前會和發(fā)包方進(jìn)行多次詳談,在十分確定需求以后才開始進(jìn)行下一步的設(shè)計編碼階段;如果外包團(tuán)隊(duì)遇到經(jīng)常改需求的客戶,那就頭疼了,頻繁的需求更改會讓項(xiàng)目寸步難行,因?yàn)槌绦蛟承枰扰靼自賹懘a。
寫代碼好比搞建筑,需求好比圖紙。中途改需求就好比建筑工人已經(jīng)建好了一半的大樓,這時候圖紙改掉了,要建一個游樂場,程序猿就不得不將自己之前辛辛苦苦建起的大樓夷為平地。而沒有弄明白就寫代碼的,就好比老板讓你建一個豪華別墅,而你卻建了一個廁所,等你醒悟過來,你就不得不將自己建的廁所拆掉改建別墅,這是非常耗精力,在項(xiàng)目實(shí)戰(zhàn)中這是萬萬使不得的。
4. 能谷歌百度就別逼逼

在之前的文章中,我們提到過使用百度谷歌自學(xué)的重要性。而進(jìn)入實(shí)習(xí)崗位,會有特別積極的實(shí)習(xí)生,和自己的師父特別聊得來,所以很多問題本來百度谷歌可以解決,全部交給師父解決。如果遇到比較耐心的師父,情況會好一點(diǎn),但是如果師父是一個急性子,徒弟問的次數(shù)多了,師父就會有厭惡的情緒,一時情緒沒控制住,會對徒弟說教一頓,這么一說,徒弟怕了,以后即使遇到難以解決的問題也不敢問了。
為了避免上述情況的發(fā)生,各位讀者們要在平時養(yǎng)成自己百度谷歌解決問題的習(xí)慣,所謂“師父領(lǐng)進(jìn)門,修行在個人”,什么問題適合問師傅,什么問題自己解決,這個度是需要我們細(xì)細(xì)揣摩的。
5. 別放棄每一次發(fā)言權(quán)
筆者大二上軟件交互設(shè)計的時候,老師曾這么對我們說過:開發(fā)人員應(yīng)該多多參與項(xiàng)目界面設(shè)計的過程 。有很多程序員持著事不關(guān)己,高高掛起的姿態(tài),坐等PD的下達(dá),然而這樣往往不利于項(xiàng)目的完成。并不是所有的UI設(shè)計師都對開發(fā)有所了解,一些設(shè)計的特效是設(shè)計師腦洞大開的產(chǎn)物,對于開發(fā)者來說是難以實(shí)現(xiàn)的,為了將這樣的情況扼殺在搖籃里,我們要多多參與頁面設(shè)計的過程,該發(fā)表言論的時候,決不妥協(xié)。
在其他方面也是如此,公司在進(jìn)行每周的周報的時候,都會問項(xiàng)目組成員遇到什么問題或有什么想法或意見,這時候我們應(yīng)該多多抓住這樣的發(fā)言機(jī)會,不要等問題出現(xiàn)了才提出來,這樣是不利于項(xiàng)目的進(jìn)行的,同時這樣也會影響到與同事的相處。

嗯!有逼逼的機(jī)會,絕不嘴軟!
6. 別犯拖延癥

筆者實(shí)習(xí)已經(jīng)差不多過了半個月,最大的感觸就是:
做項(xiàng)目真的不是鬧著玩的!
之前在學(xué)校的實(shí)驗(yàn)室也確實(shí)做過不少項(xiàng)目,但是學(xué)校的項(xiàng)目做不完就是做不完,大不了流產(chǎn),但是公司的項(xiàng)目是需要交付的,一旦沒有如期完成,影響到的是公司的聲譽(yù)和盈利,影響到的是自己的飯碗問題,因此決不能拖團(tuán)隊(duì)后腿。
遠(yuǎn)離微博、遠(yuǎn)離微信、遠(yuǎn)離QQ 是程序猿如期完成項(xiàng)目的三大準(zhǔn)則,當(dāng)然這個三是虛指,我們需要屏蔽所有分散我們注意力的事物,聚精會神敲代碼,一心一意調(diào)BUG ,待到項(xiàng)目發(fā)布時,舒一口長氣,然后繼續(xù)忙下個版本。。。
以上是本篇入坑的準(zhǔn)程序員注意事項(xiàng)系列的所有內(nèi)容,感謝大家的閱讀!
如果讀者們對本系列文章感興趣,希望大家點(diǎn)擊文章下面的“喜歡”留下你的足跡,謝謝_