前言:
沒有人滿意開發人員這種已經“竭盡全力”改變世界的速度,每個人都希望代碼像消防水管里的水一樣能夠源源不斷地流出來,但沒有人愿意提供給開發人員更好地完成作業的條件,

下面就是現實世界中的9個編程障礙,
障礙1:試圖較量生產力
總會有管理團隊受那些所謂“你不能管理你無法衡量的東西”的書籍啟發,于是開始衡量提交的或代碼庫或軟體代碼行或bug修復,他們認為,計數就是衡量,而且衡量一定是好事,
衡量效率實際上會因為鼓勵功能豐富,代碼過度設計的長檔案,而讓代碼庫變得更糟,
對于此問題還沒有真正的解決方法,我們需要跟蹤bug,我們需要組織作業流程,協調軟體的創建,這種優雅是無法衡量的,
障礙2:狂妄自負的程式員
對于程式員而言,有這樣一個同事比Boss更難以忍受:創建了代碼的最后一次迭代,卻不再作業于這個專案,
當然,這可能是事實,但它很少像程式員說得那么糟糕,如果有什么區別的話,問題通常也不是由于技能匱乏而引起的,

主要還是風格的不同,并且風格還會隨著時間而改變,上一代和我們今天訪問的庫不同,他們也不曾閱讀過有關最佳做法的最新著作,
妄自尊大的編程態度往往會級訓專案,驕傲和利己主義的混合發酵會導致程式員拋棄完全能夠勝任的代碼,只為了按照他們認為的“正確方式”重建,
障礙3:程式員經理
雖然程式員可能會因為不得不與非程式員經理打交道而抱怨,但他們經常悄悄地表示,編程人員去做管理人員更糟糕——有時甚至更糟糕得多,
他們是前任的天才,可能會決定微觀管理專案,然后果決地撕裂大片的代碼,因為他們有了一個新的展望,或者,也許他們會閑談,對于同樣的事情,他們是如何用C或Java編程寫了一半的代碼,在任何情況下,他們更癡迷于技術細節而不是大局,雖然他們被雇來的目的是盯牢后者,
障礙4:長袖善舞的程式員
雖然程式員可以將每個問題和任何中斷的責任歸咎于巧言令色的銷售團隊,但編程人員也必須承認,有一些問題在于他們自己,程式員被聘請的目的在于他們的計算機技術,而不是他們的人際交往能力,
程式員通常不善于溝通,不知道如何表達他們的感受和思維,他們可以準確抓住技術引數,就像庖丁解牛一樣迎刃有余,無論客戶想要改變什么都不要緊:程式員總是時刻思索著技術引數,即使是在公司野餐上也不外如是,
盡管程式員通常可以過濾掉對方的特質,但當程式員之間發生磕磕絆絆時也會讓團隊失敗,當同一個團隊中兩個人有著不同的政治觀點,比方說,動態語言或NoSQL,那么團隊就會永無寧日,一切都像是在戰場一樣,戰火紛飛,硝煙彌漫,
障礙5:惡劣的環境
銷售和營銷團隊可以在背景噪音的環境下茁壯成長,但程式員通常需要圖書館般安靜的背景,閑聊,令人心煩意亂的敲擊聲,或鈴聲將驅逐程式員的思維走出抽象的作業區,回到現實中,然后,需要幾分鐘的時間才能重新沉浸于作業區,

有一位開發人員說,他恨他的新辦公桌,因為它靠攏空調出風口,噪音令人難以置信的響,使得他真的很難集中注意力,這可能略有夸張,但的確是一個事實,
雖然許多企業會提供程式員類似乒乓球桌的娛樂活動,但他們往往忘記了程式員需要在安靜的氛圍中集中精神,甚至,他們還將程式員轉移到大房間,認為這可以促進合作,殊不知卻會導致一有風吹草動,整個房間的程式員都受到干擾,
障礙6:團隊合作力
如果團隊成員之間的風格相似,那么這支團隊往往才能更好地作業,無法找到共同點的團隊很快就會失敗,沒有溝通,最后只會南轅北轍,不知所謂,
障礙7:死守傳統技術
很多人認為古老的技術依然很偉大,依然能夠完成任務,因此對于為什么要重寫代碼表示疑慮重重,
他們想得沒錯,但他們忘記了保持這些古老代碼的成本,所有一切通常都需要用自定義代碼進行翻譯,某些代碼甚至寫在ASCII之前,這意味著需要轉換輸入和輸出,舊系統經常會計數空格字符只是為了在資料庫中指出這是什么,這就更加需要轉換了,
一段時間以后,他們往往需要花費更多的作業來清理混沌的邏輯,以致于騰不出時間來寫新的邏輯,
障礙8:對新技術的渴望
最新的工具自然有意思,但卻在沒有經過大量時間再次編碼以往的作業之前,是不會被開發作業室采用的,走在時代尖端的人總是會扔掉API的整個部分,并重新撰寫,從而迫使我們這些下游的程式員不得不跟著一起改寫代碼,
在許多情況下,新的工具并沒有戰斗化,例如,Node.js,雖然說相當快,但是只有當你重新學習所有關于死鎖的經驗教訓之后,知道執行緒優先的時候才能發揮作用,世上沒有免費的午餐,工具雖好但都是有代價的,

最后如果你也想成為程式員,想要快速掌握編程,這里為你分享一個學習基地!
里面有資深專業軟體開發工程師,在線解答你的所有疑惑~C語言入門“so easy”
資料包含:編程入門、游戲編程、課程設計、黑客等,
編程學習書籍

編程學習資料


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/239933.html
標籤:其他
