導航:首頁 > 編程語言 > 寫代碼知乎

寫代碼知乎

發布時間:2024-09-10 19:09:45

❶ 為什麼程序員把程序代碼寫的那麼復雜 知乎

一個優秀的程序員,代碼永遠都不會復雜化。當然,如果是作為才入門的或是還未入門的程序員,對熟手編寫的程序也會感到十分吃力,所以造成理解上的"復雜"。編程風格四大規則:

❷ 普通程序員的工作生活是怎樣的

讀別人的代碼

通常我們進入公司以後,不會是重頭開始一個項目,而是在已有代碼的基礎上進行維護或新功能的開發,所以必須「讀代碼」。

讀有「泛讀」,了解系統架構、功能模塊,對系統有一個大致的認識,各個功能能找到相應代碼實現的位置。

還有「精讀」,通常就是調試了,在fix bug的時候使用。此外還包括審核:一些規范一點的公司,都會有code review,也是精讀,但不用debug。

對於一個成熟的項目來說,讀代碼——而不是寫代碼——可能是最耗時間的工作了。

寫注釋文檔

為了減少「讀代碼」的時間,我們不得不花時間「寫注釋」「寫文檔」——這個程序員最深惡痛絕的工作。所以現在「爛代碼才需要注釋」的聲音變得越來越強,但無論如何,文檔還是要寫的。(注意:要能區分注釋和文檔)

了解需求

好了,終於到了「寫代碼」的時間了。

然而,在動手開始寫代碼之前,你必須花時間「了解需求」。和自己寫個小程序玩玩不同,在公司,你是為別人寫代碼,所以你一定要了解別人究竟想實現什麼功能。通常,這並沒有你想像的那麼簡單,需要反復的溝通。

當然,也有一些團隊和個人,不願意在這上面「浪費時間」,通常他們的下場就是不斷的寫代碼,然後不斷的改代碼,加班加點的做大量的無用功,整個公司怨氣沖天一地雞毛。

開發中的其他各種溝通

大家都恨產品經理。

但其實產品經理只是我們最恨的人之一,我們還恨前端、後端、DBA、測試……承認吧!因為我們是團隊開發,說好的團隊精神有沒有我不知道,但各種摩擦扯皮是必須的。

比如前端要後台給一個介面,後台給不出來或者嫌麻煩;比如後台跪求DBA的許可權,DBA優化資料庫時說Developer都一群傻逼;比如測試一次又一次的報bug我特么像殺人的時候……

這些都需要溝通,也就是需要時間和精力。

其他無聊的辦公室活動

比如寫日報周報,應付各種KPI,這是所有工種都乾的活,就不多說了。

總之,程序員真正寫代碼的時間其實不多。個人覺得,一天能有30%的時間安安靜靜的寫代碼,就算是不錯的工作環境了。

不論是我們的大學教育也好,培訓機構也罷,都只知道知識的灌輸,而忽略了程序員工作能力的培養。這些能力,即只能在工作中「自學」獲得,所以你看這些公司的招聘,都要求「兩年以上工作經驗」,意思就是:一般的新人,起碼要兩年的時間,才能「習得」這些起碼的工作技能。

❸ 知乎上那個程序員winter是誰

winter,本名程劭非,花名寒泉,前端工程師,JavaScript 專家。江湖人稱「計算機之子」。先後在微軟,盛大,阿里巴巴工作,目前是手機淘寶前端 leader。

winter 出生於 1985 年10月24日。母親年輕時曾用機器碼,打孔紙帶寫程序。因受家庭影響,winter 從小喜歡計算機,高中時在文曲星上編寫小游戲。2004年進入哈爾濱工程大學。大學時代參加 ACM/ICPC 比賽,獲得過黑龍江省賽一等獎,東北四省賽一等獎。從大二開始學習 Web 前端開發。winter 接觸前端是因為當初混黑白棋社區,給黑白棋界面寫插件,後來又混 51js 社區。他曾經看到周愛民老師的文章,覺得不服,於是與其討論,很有收獲。後來又被月影拉進一個群,認識不少人,學到不少東西。畢業時拿到網路和微軟的 offer。那一年,騰訊給出的月薪是 7k,網路是 9k,而微軟是 13k,winter 最終加入微軟亞洲工程院。7 年後的 2015年,對於普通應屆生,阿里給出的是 13k,網路給出的是 14k。由此可以看出,winter 本科畢業時已然實力超群。由於是校內第一個拿到微軟 offer 的學生,哈爾濱工程大學還對其進行了專訪。winter 在微軟主要從事 Windows CE上的 IE 瀏覽器開發。2010年開始在盛大創新院做電子書和基於Web的操作系統,認識了老趙等人。當時霍炬(virushuo),郝培強(tinyfool),余晟也在盛大創新院。2011年時,大城小胖也來到盛大創新院,他說winter 雖然比他小5歲,但卻教會了他很多。winter 老師畢業三年後,月工資達到了 25k。2012年12月加入阿里,在無線事業部前端團隊工作。伴隨著阿里的上市,winter 老師的身家想必水漲船高。

winter 老師雖然平時插科打諢,沒個正經,但是一談到技術問題,就變得認真嚴肅起來。

在技術方面,winter 老師非常注重基礎。他想起當年他在 51js 認識的那些人,基礎好的幾年之後都立於行業頂點,而只知道「順應潮流」的已經泯然眾人。對編譯原理,winter 老師開始覺得相對其它知識,編譯原理不是那麼重要,但是後來發現,除了微軟系的語言,其它語言想要透徹的了解,都需要閱讀給開發者用的語言標准。winter 老師自己也研習過龍書,但是覺得龍書過於學術。另外,winter 老師對演算法,標准等也非常重視,他覺得當一個程序員對演算法、語言標准、底層、原生、英文文檔這些詞彙產生恐懼感的時候他的技術生命已經走到盡頭。winter 老師推薦過《程序設計實踐》這本書,他認為這本書可以讓一個掌握一門編程語言基礎的人成為一個合格的程序員。另外,身為 JavaScript 專家,winter 老師當年學 JavaScript 的時候,每次從圖書館借五本書,然後根據實際經驗選擇靠譜的細讀,winter 老師提到此事時說道,對於一個新手而言,不崇拜,不盲信,保持懷疑精神是很重要的。另外,對於框架和庫,winter 老師也有自己的看法:庫/框架都不應該致力於解決用戶15分鍾之內可以搞定的事情;庫/框架的命名應該如同文檔,見文知意,且與原生的類庫風格統一;庫/框架的API應該職責單一、與命名相匹配;庫/框架應當可拆可合,粒度適中。

在工程方面,winter 老師認為工程當是佈道、技術方案、落地業務三者一體,任何一環沒做好,實施都會變成失敗的工程實踐。而工程師的核心競爭力是工程能力,工程是承認現實和追求可行性的,工程高手懂得在不同的環境下使用不同的工程手段來提高價值轉化,逐步建立理想的組織結構和實施流程。然而,現實總是比理想骨感太多。網上到處吵著MVC、架構內聚耦合,而最需要解決的問題卻是代碼發布、版本管理、依賴關系和復用。開發工作量往往不在實現功能,而是每次上線的冗長流程和心理壓力。從學會技術到工程實施,猶如萬里長征邁出第一步。

在人才選拔方面,winter 老師認為,簡歷應該多看經歷、作品,而面試則應多考察基礎知識和實際編碼,可以出一些覆蓋知識點范圍很大的題目,例如常用的HTML標簽、CSS屬性、CSS選擇器,並簡述它們的特性和使用場景。另外,面試過程中,重要的是面試官如何跟應聘者討論題目,如何根據回答情況靈活決策後續問題和溝通方式,以及對面試者回答的評判方式。而工程師的能力,主要體現在三個方面,演算法能力解決單點問題,架構能力應對代碼規模,工程能力則負責人的協同和前兩者能力的沉澱。根據 winter 老師的經驗,面試掛掉的人,主要有三類:第一,是恐懼,不敢看標准,不敢學演算法,不敢參與社區等等。第二,是封閉,在小圈子,自己覺得自己很強,沒交流,悶頭做不看別人。第三,是安逸,能實現就不管原理,做管理了就懶得碰技術,老技術夠用就不學新技術。

2015年五月底,winter老師因不滿知乎友善度判定,離開知乎,並在 GitHub 上建立 dog-fucked-hu 項目,用於備份自己的答案,取消所有點贊,批量替換所有答案。

工作以後,winter 老師還迷戀上了網路小說,後來去盛大工作,還給閱讀網文的 bambook 寫排版演算法。winter 老師不但自己看,還將網路小說推薦給自己的父母,導致年輕時身為文藝女青年,看《莎士比亞全集》,《神曲》,《雪國》的母親,開始看《凡人修仙傳》,《斗破蒼穹》等網路文學作品。而 winter 老師自己,最愛看的是《羅羅娜的異世之旅》。winter 老師還曾經面試過豌豆莢,結果被面試官評價為前端開發基礎不過關,沒有好好准備面試,不知道是否和 winter 老師看網文有關。不過看網文並不影響 winter 老師的薪資水平。知乎上有一個問題,「第一次將薪水告訴家人是什麼體驗」?winter 老師是這么回答的:「媽你來幫我看看這是幾個零?」。

❹ 為什麼中國的程序員總被稱為碼農

本人並不是一位程序員,但是從事互聯網行業也少不了與程序員朋友打交道,他們經常自嘲為「碼農」、「程序猿」、「代碼工人」、「碼字猴」等等,這些一定程度上是幽默的稱謂,但是站在旁觀者的角度,本人認為還有一些深層次的原因。

第一,中國的程序員是一個龐大的群體,只要是學過計算機,只要懂一門編程語言,都可以吃這碗飯。當你看到中午吃飯時那個浩浩盪盪的場面,你就會覺得程序員真的看起來和農民差不多。

第二,大部分程序員做的都是比較枯燥的工作,一點創新性都沒有。很多新項目都是在很成熟的項目之上進行修改,都有現成的模板可以套用,基本上不用怎麼動腦筋。這和農民種田是多麼的類似。他們年復一年地做著同樣的事情(播種、插秧、收割),也不知道這種日子什麼時候是個頭。IT行業本應該是一個創新性非常強的行業,但到了中國就成了比較死板的東西了,這是什麼原因呢?

第三,大部分程序員的視野都比較的窄,對其他行業懂得很少,這也和農民是多麼的相似啊!我們都說農民階層是沒有多少文化的,但這居然也適用於以高學歷著稱的程序員身上,是多麼具有諷刺意味啊!你隨便問一下身邊的程序員,當今最流行的詞語是什麼,我想沒有幾個人回答得上來。他們成天盯著代碼,想著那26個字母和10個數字,視野如何能變寬廣?

第四,大部分程序員都是靠自己的努力掙錢,沒有強的人際關系,基本上屬於「弱勢」群體。就像農民一樣,他們沒有關系,只能世世代代在自己的土地上耕耘,只求維持生計、終老一生。如果稍微有點關系,幾乎沒有人願意當程序員。在行業發展較為順利的時候,他們能夠保住飯碗,能夠養家糊口;當行業不景氣的時候,他們隨時都有被裁的危險,因為公司要不了那麼多人。程序員的命運並沒有真正地掌握在自己手上。

在一個大的IT公司,程序員都佔了很高的比例,少則成百上千人,多則幾萬人,真的像農民一樣,到處都是。我在和同事聚餐的時候,程序員都在抱怨自己的工作是如何的辛苦、如何的累,都說自己是「碼農」。

❺ 寫代碼這樣的工作,可以做一輩子嗎

如果真的熱愛這個職業,做不做一輩子有什麼關系,不是職業還可以當作愛好。如果不喜歡,或者只是當作生存工具,幹嘛要做一輩子,可以轉行干別的。難道二十多歲剛開始工作就要決定一生的職業規劃么?事在人為,這問題的答案,是取決於自己。
一、先說說干一輩子程序員可能遇到的瓶頸吧。
1、視力:老爸他年輕的時候就是近視眼,長期戴眼鏡,現在又有老花眼,上了50歲以後看屏幕的吃力程度可能年輕力壯的小夥子是無法想像的。
2、體力:雖然他的身體在同齡人中還算硬朗,但是比起年輕的小夥子還是差多了。我現在經常看到他迷迷糊糊就睡在電腦面前了(心疼爸爸)。
3、工作安排:當你還是一個程序員的時候,你可能可以一心撲在技術上,沉浸在代碼的海洋里,享受代碼帶來的成就感。但是一旦你成為一個領導了,你就不得不考慮更多。你要對你的下屬負責,對你的部門負責,對你的公司負責,對你的股東負責。就沒有以前那麼多精力來學習和實踐了。
二、但是,干一輩子程序員,你也會有很大的收獲!!!
1、現在雖然爸爸已經很久不自己寫代碼了,但是很多公司里的問題還是會問到他,很多底層的原理,他懂的比其他人都透徹,公司也基本只有他知道這些。
2、他對技術的熱情真的比同齡的人不太一樣,很樂於接受新鮮事物。之前一直用的安卓機,現在給他換了一個iphone每天自己樂顛樂顛的研究手機里的新功能。還會自豪的跟我說,今天又發現了一個新東西。每次給他買了什麼新玩意,根本不用我教,自己玩玩就會了,與時俱進的能力一點不輸給小年輕。
3、心態很好,他老人家從不跟別人置氣,包括我火爆脾氣的母上大人。每天都樂呵呵的,跟沒長大的小孩一樣。
4、為人低調,其實一直都不知道爸爸會寫代碼。直到有一天,我們一家人一起聊天,妹妹正在跟我吐槽最近遇到的一個奇葩bug。老爸突然開口跟我妹說,「你是不是在xxx和xxx之間有個空格?」我和我妹當時都驚呆了。她看了下代碼,居然還真是!!然後我妹按照我爸爸的指示,把這個空格去掉以後,bug居然奇跡的解了。這時候我們才知道他老人家原來會寫程序。。。。。。
三、即使不能做一輩子程序員,代碼卻可以寫一輩子!
人們總說程序員是吃青春飯的,萬事不能絕對。天朝的環境,的確沒有美國那樣寫代碼能寫到七老八十的環境。但即使不能做一輩子程序員,代碼卻可以寫一輩子!
所以,年輕程序員不要有跨越年齡階段的焦慮,大齡程序員也不要覺得年輕人搶了自己的飯碗。
每個年齡段都有自己要解決和面臨的問題,認清自己內心真正的需求和渴望,再去尋找適合自己的棲身之地打怪升級,才是當務之急。
時代永遠不排斥大齡程序員,時代排斥的是沒有能力的大齡程序員,真正能解決難題的程序員,無論年齡多大,都會一直搶手。
希望即將奔三或者馬上奔四的程序員夥伴們,永遠保持一顆學習心,不以物喜不以己悲。

閱讀全文

與寫代碼知乎相關的資料

熱點內容
編程器刷微星bios刷哪個文件 瀏覽:111
選擇小米手機3版本 瀏覽:314
iphone鏈接 瀏覽:110
9元編程課是什麼 瀏覽:436
cad為什麼不能輸入stl文件 瀏覽:78
編程與外語哪個更好就業 瀏覽:299
為什麼程序會跑飛 瀏覽:659
matlab中的m文件是什麼 瀏覽:226
excel批量保存pdf文件 瀏覽:963
win10文件夾死機動不了 瀏覽:411
ps打開多頁pdf文件 瀏覽:901
資料庫統計某一欄位值出現次數 瀏覽:705
學編程需要哪些方面的能力 瀏覽:896
在word2003表格中插入一行 瀏覽:606
怎麼把拍照取字的文件轉成pdf 瀏覽:838
小米穿戴app哪裡更換表盤 瀏覽:911
滿足該條件更改文件內容的代碼 瀏覽:503
xp系統怎麼卸載win10系統文件 瀏覽:709
華為手機雙系統app怎麼轉 瀏覽:317
u盤插上pc自動跳出文件夾 瀏覽:232

友情鏈接