導航:首頁 > 軟體知識 > 程序員是怎麼樣煉成的

程序員是怎麼樣煉成的

發布時間:2024-09-07 08:46:16

A. 什麼是屎山代碼

屎山代碼,通常是指新員工看到老員工寫的代碼,感覺不好,又多,彷彿像看到了一坨屎。

屎山代碼,即是祖傳代碼,是指一個公司里祖傳的「古董級代碼」,因為使用時間較長,數量已經很多了。

因為在系統的使用過程中,需要維護系統和不斷添加新的功能,故使用時間長的系統的代碼往往會很多。曾有程序員表示:改老代碼,就相當於去爬一座屎山,等爬到山頂,自己又留下一灘新的屎!

不要輕易修改「屎山代碼」,存在即合理,可以正常運行就不要去修改,否則可能會導致代碼的運行出現問題。

屎山代碼煉成的原因:

屎山代碼一直都是被軟體行業的大多數人詬病。它是指堆積在一起沒有規律的都不想去看的一堆代碼。這些代碼能運行,卻不能迭代,效率不高,卻又不能舍棄,所以形成了你不得不關注的內容。本人是一名有著代碼潔癖的開發人員,從入行第一天只要看見任何不好的代碼都會想去優化掉。

項目初期沒有架構規劃,缺乏架構設計,包括業務架構和技術架構(不考慮業務架構的技術架構設計最終都會演變成扯淡)。

B. 黑客是怎樣煉成的

----什麼是黑客?

Jargon File中對「黑客」一詞給出了很多個定義,大部分定義都涉及高超的編程技術,強烈的解決問題和克服限制的慾望。如果你想知道如何成為一名黑客,那麼好,只有兩方面是重要的。(態度和技術)

長久以來,存在一個專家級程序員和網路高手的共享文化社群,其歷史可以追溯到幾十年前第一台分時共享的小型機和最早的ARPAnet實驗時期。 這個文化的參與者們創造了「黑客」這個詞。 黑客們建起了Internet。黑客們使Unix操作系統成為今天這個樣子。黑客們搭起了Usenet。黑客們讓WWW正常運轉。如果你是這個文化的一部分,如果你已經為它作了些貢獻,而且圈內的其他人也知道你是誰並稱你為一個黑客,那麼你就是一名黑客。

黑客精神並不僅僅局限於軟體黑客文化圈中。有些人同樣以黑客態度對待其它事情如電子和音樂---事實上,你可以在任何較高級別的科學和藝術中發現它。軟體黑客們識別出這些在其他領域同類並把他們也稱作黑客---有人宣稱黑客實際上是獨立於他們工作領域的。 但在本文中,我們將注意力集中在軟體黑客的技術和態度,以及發明了「黑客」一詞的哪個共享文化傳統之上。

另外還有一群人,他們大聲嚷嚷著自己是黑客 導噬纖 僑床皇恰K 鞘且恍┬鉅餛蘋導撲慊 偷緇跋低車娜耍ǘ嗍 喬啻浩詰納倌輳 U嬲 暮誑桶顏廡┤私凶觥昂Э汀?cracker),並不屑與之為伍。多數真正的黑客認為駭客們是些不負責任的懶傢伙,還沒什麼大本事。專門以破壞別人安全為目的的行為並不能使你成為一名黑客, 正如拿根鐵絲能打開汽車並不能使你成為一個汽車工程師。不幸的是,很多記者和作家往往錯把「駭客」當成黑客;這種做法激怒真正的黑客。

根本的區別是:黑客們建設,而駭客們破壞。

如果你想成為一名黑客,繼續讀下去。如果你想做一個駭客,去讀 alt.2600 新聞組,並在發現你並不像自己想像的那麼聰明的時候去坐5到10次監獄。 關於駭客,我只想說這么多。

---黑客的態度

黑客們解決問題,建設事物,信仰自由和雙向的幫助,人人為我, 我為人人。

要想被認為是一名黑客,你的行為必須顯示出你已經具備了這種態度。要想做的好象你具備這種態度,你就不得不真的具備這種態度。但是如果你想靠培養黑客態度在黑客文化中得到承認,那就大錯特錯了。因為成為具備這些特質的這種人對你自己非常重要,有助於你學習,並給你提供源源不斷的活力。同所有有創造性的藝術一樣,成為大師的最有效方法就是模仿大師的精神---不是僅從理智上,更要從感情上進行模仿。

So,如果你想做一名黑客,請重復以下事情直到你相信它們:

1、這世界充滿待解決的迷人問題

做一名黑客有很多樂趣,但卻是些要費很多氣力方能得到的樂趣。 這些努力需要動力。成功的運動員從健壯體魄,挑戰自我極限中汲取動力。同樣,做黑客,你必須
要有從解決問題,磨練技術,鍛煉智力中得到基本的熱望。如果你還不是這類人又想做黑客,你就要設法成為這樣的人。否則你會發現,你的黑客熱情會被其他誘惑無情地吞噬掉---如金錢、性和社會上的虛名。

(同樣你必須對你自己的學習能力建立信心---相信盡管你對某問題所知不多,但如果你一點一點地學習、試探,你最終會掌握並解決它。)

2、一個問題不應該被解決兩次

聰明的腦瓜是寶貴的,有限的資源。當這個世界還充滿其他有待解決的有趣問題之時,他們不應該被浪費在重新發明輪子這些事情上。 作為一名黑客,你必須相信其他黑客的思考時間是寶貴的---因此共享信息,解決問題並發布結果給其他黑客幾乎是一種道義,這樣其他人就可以去解決新問題而不是重復地對付舊問題。

(你不必認為你一定要把你的發明創造公布出去,但這樣做的黑客是贏得大家尊敬最多的人。賣些錢來給自己養家糊口,買房買車買計算機甚至發大財和黑客價值也是相容的,只要你別忘記你還是個黑客。)

3、無聊和乏味的工作是罪惡

黑客們應該從來不會被愚蠢的重復性勞動所困擾,因為當這種事情發生時就意味著他們沒有在做只有他們才能做的事情---解決新問題。這樣的浪費傷害每一個人。因此,無聊和乏味的工作不僅僅是令人不舒服而已,它們是極大的犯罪。 要想做的象個黑客,你必須完全相信這點並盡可能多地將乏味的工作自動化,不僅為你自己,也為了其他人(尤其是其他黑客們)。

(對此有一個明顯的例外。黑客們有時也做一些重復性的枯燥工作以進行「腦力休息」,或是為練熟了某個技巧,或是獲得一些除此無法獲得的經驗。但這是他自己的選擇---有腦子的人不應該被迫做無聊的活兒。)

4、自由就是好

黑客們是天生的反權威主義者。任何能向你發命令的人會迫使你停止解決令你著迷的問題,同時,按照權威的一般思路,他通常會給出一些極其愚昧的理由。因此,不論何時何地,任何權威,只要他壓迫你或其他黑客,就要和他斗到底。

(這並非說任何權力都不必要。兒童需要監護,罪犯也要被看管起來。 如果服從命令得到某種東西比起用其他方式得到它更節約時間,黑客會同意接受某種形式的權威。但這是一個有限的、特意的交易;權力想要的那種個人服從不是你的給予,而是無條件的服從。)

權力喜愛審查和保密。他們不信任自願的合作和信息共享---他們只喜歡由他們控制的合作。因此,要想做的象個黑客,你得對審查、保密,以及使用武力或欺騙去壓迫人們的做法有一種本能的反感和敵意。

5、態度不能替代能力

要做一名黑客,你必須培養起這些態度。但只具備這些態度並不能使你成為一名黑客,就象這並不能使你成為一個運動健將和搖滾明星一樣。成為一名黑客需要花費智力,實踐,奉獻和辛苦。

因此,你必須學會不相信態度,並尊重各種各樣的能力。黑客們不會為那些故意裝模做樣的人浪費時間,但他們卻非常尊重能力---尤其是做黑客的能力,不過任何能力總歸是好的。具備很少人才能掌握的技術方面的能力尤其為好,而具備那些涉及腦力、技巧和聚精會神的能力為最好。

如果你尊敬能力,你會享受提高自己能力的樂趣---辛苦的工作和奉獻會變成一種高度娛樂而非賤役。 要想成為一名黑客,這一點非常重要。

C. 程序員如何提高自己的工作效率

程序員如何提高自己的工作效率?程序員要在IT界混出個名堂,也要有高效的工作效率才行。下面我為大家整理了程序員提高工作效率的辦法,歡迎大家閱讀參考!

程序員如何提高工作效率

1)鍵盤功底要扎實

敲鍵盤時要使用標准指法。可能你認為這是程序員的基本功,可是我發現其實很多程序員都做不到這點。看著他們敲代碼時那笨拙的指法我就心急。其實煉成標准指法不難,相當年我還是一指禪,打字極慢,痛定思定,在一周內我打字必用標准指法,再別扭也要堅持,一周後就適應了標准指法了。現在不說運指如飛也算是略有小成。練習指法和鍵盤速度可以給大家推薦一些網站:http://10fastfingers.com/typing-test/english,這個就是練習標准指法的,我可以輕松上60 WPM(每分鍾60單詞),有個外國同事可以達到130以上,那才叫恐怖。http://typing.io/lessons,專門供程序員練習敲代碼的網站,融合了各種括弧和標點,難度有點大。

2)要熟悉IDE的各種快捷鍵及特性

IDE基本上是碼農們上班中使用時間最長的軟體。首先要選擇一個趁手的IDE,俗話說,工玉成其事,必先利其器嘛。如果是C#陣營的那肯定是最新版的Vistual Studio了,如果是Java陣營的話當然是Intellij了(eclipse作為開源IDE,真心比不過Intellij)。我現在使用Intellij可以在95%的情況下不用滑鼠,全鍵盤完成開發過程中的大部分操作。我覺得沒有什麼常用快捷鍵、不常用快捷鍵之分,只要你知道的快捷鍵就要拿來用。

尤其是各種重構快捷鍵必須要熟練掌握,當我看到碼農修改變數名時不用重構快捷鍵,而是自己手動在引用的地方一個個改,然後編譯查錯時,真為他們捉急。還有各種inline,introce的快捷鍵真是好用到爆,掌握了這些快捷鍵可以說對代碼進行任何重構都不費除灰之力,我們的注意力也從手動修改代碼轉移到如何發現壞味道了。Vistual Studio中推薦安裝ReSharper,其開發公司與Intellij開發公司是同一家。除了重構快捷鍵,還要掌握一些IDE的特性,比如調試時可以插入指定條件來命中斷點等,這些就要平時的積累和學習,另外還有好奇心。我敢說你現在挨個看IDE菜單,至少有30%功能你從沒用過或不知道是干什麼用的,其實裡面有些功能是非常實用的,只是你沒嘗試而已。

3)至少熟練掌握一種shell終端

作為程序員老用圖形化界面咋行,要用那種古老的命令行界面才能顯示出你的高深嘛!滑鼠點界面誰都會,而命令行界面不是誰都能駕馭。有些功能在命令行下要比圖形界面下高效N倍。比如我使用git提交文件時都是在命令行下查看哪些文件被修改了,哪些是新添加的,修改的部分是哪些等。

使用圖形化界面要用滑鼠點來點去,效率實在太低。Linux系統下的終端太多了,就不推薦了。Mac系統下推薦使用iTerm2這個殼,其比MAC自帶的terminal多了不少實用的特性,也能方便切換自己喜歡的配色。Windows下當然首推Windows Power Shell了。Windows Power Shell本身集成了常用的實用工具,並且與.net framework無縫結合,這點是那些在Windows上的類Linux模擬器(比如Cygwin)是遠遠比不了的。

4)具有一定編寫shell腳本的功底

光會用現有的`腳本還不行,還要會根據情況編寫腳本來實現自己特定的一些目標。比如我使用MAC機上的終端時,經常需要在不同目錄間跳來跳去,每次都打一串的cd …..很麻煩,後來我就自己寫了一個小工具,可以給指定的目錄起別名,想要跳到這個目錄只要敲別名即可(參見 http://www.huangbowen.net/blog/2013/02/16/gtshell/)。

還有我在Windows系統上工作時,也經常編寫一些Power Shell腳本,比如一個命令就啟動指定的FTP伺服器,一些小命令用來實現快速在不同項目源碼間切換並執行構建命令等。這些命令編寫起來都很簡單,在提高工作效率方面很好幫助,因為一些常用的費時的操作每天重復N次,讓人很厭煩,如果能夠使用腳本將其自動化起來,豈不是就把自己給解脫了?

5)多語言編程

在這個世界有太多太多的編程語言,但凡稍微流行的編程語言都有自己獨特的優勢,而我們要善於利用每種編程語言的特點,而不是整天吵鬧那種語言更強大。我自己熟悉C#、java語言,也用JavaScript、Ruby、Python、Groovy做過一些東西,甚至為了理解函數式編程還專門學習了Haskell語言。這些語言都給我帶來了實用的效果。比如我用Ruby寫了一個插件,可以自動把我主站上的博客同步到博客園中的博客來。

我使用Groovy給我的Java代碼寫單元和集成測試,比使用Java語言編寫要快很多。我用Python和WebDriver寫了一個論壇灌水工具來刷積分。你掌握的語言越多,你的視野就越廣,你對編程的理解就會越深入。當然我不贊成盲目的求多,至少你要有2到3門精通的語言,從語言語法、語言運行時、語言特性、語言API等方面都要有深入學習和見解,當你再學習其它語言時也不會浮於表面的了。

6)這是最重要的一點,時刻保持一顆好奇心,一顆堅定不移的提高工作效率的決心

很多人都抱著差不多態度,心想“我雖不是標准指法,敲鍵盤速度也差不多”,“我IDE快捷鍵用的不多,也沒覺得那裡影響到我開發”,“我只會C#一種語言,還不照樣干到現在了嗎?”之所以有這種想法,是是因為你沒有見到真正高效的人。我曾看到某IT界牛人那出神入化的VIM操作,簡直已經超越了指哪打哪的境界,已經達到了鍵隨心動的境界。

我也看到某高級程序員使用IDE快捷鍵三下五除二就把一段醜陋的代碼給收拾的服服帖帖。耳濡目染之下讓我堅定了這個決心,不做差不多先生。所以平時我和同事一起工作時,就留心他們有哪些方法和工具來提高自己的工作效率。如果他們使用了一些好用的快捷鍵而我不知道,那我就會記下來下次自己用(快捷鍵熟練程度上我早已是我們項目組的number one)。

如果看到他們使用了一些好的工具我也會立馬回去下載下來自己用。(比如前兩天我看到同事使用SuperPutty來連接遠程主機,其支持多tab方式,這正是我想要的功能。我回去立馬下載下來,拋棄了以前的Putty)這樣時間長了,集眾人之所長,你自然也成為效率達人了。


D. 《復雜世界的明白人》九邊 #讀書筆記

讀後感:

很久沒有完整看一本書,記性差了很多,一本書看了兩三遍,花很長的零碎時間拼湊完讀後感。最近發生一些事情,心情不太好。或許也帶有些許年齡的焦慮,身邊的同事年紀越來越小,親戚朋友成家立業的越來越多,很多地方有共鳴。

本書作者是程序員出身,後來轉做視頻和寫文章。講得很多都是人生道理,也是出現在各大熱門知乎、公眾號、視頻等的討論話題。不能說是一本很深層次的書,但至少能給一些迷茫的人方向。

如何讓自己過上痛苦的生活,之前看過外國團隊的調研的結果類似,有印象。過濾出精英的教育、工作、風口幾道窄門,也是這么一個道理,逆水行舟不進則退。知識儲備夠不夠?心智夠不夠沉穩?面對新事物的反應速度快還是慢?執行力不足是害怕失敗,還是性格不夠堅韌的影響?大腦很多時候看到別人光鮮亮麗的成就,只會羨慕,而沒有看到過程.

教育能武裝一個人的大腦,圈子可以改變一個人的心境,身體是革命的本錢。機會總是在自己身邊,跳出舒適圈,成就更好的自己。一萬年太久,只爭朝夕。共勉吧

筆記部分:

如何過上痛苦二抑鬱的生活?

1.堅持容易的選擇

堅持一二十年,慢慢人生選擇越來越少,越來越痛苦。(快樂往往是一時的,代價卻是持續的)

2.保持孤僻

社交得到歡樂可以抑制痛覺受體,防止抑鬱,也比單打獨斗多更多可能(避免被孤立去做無效社交)

3.准備好再開始

不一定要最漂亮的方式完成,哪怕最笨的方法也比沒有強。

三道窄門濾出最終精英:

1.教育

①溝通效率知識層次接近容易達成共識;

②「研究習慣」,普通人只網路大概,博士會研究英語資料期刊論文等多種方式;

③高效,信手拈來的「工具庫」積累。

2.工作

①不穩定卻上限很高。(小企業迅速成長分紅)

②穩定卻一眼看到頭的工作,越往後可選擇越少。(大多數穩定的職業)

3.風口

①風口可能讓你的資產指數型上漲

②除了運氣,保持寬容學習的心,風口來了願意學習和了解,而不是將其與「瞎胡鬧」劃上等號,(面對新事物,保持熱情積極了解)

混江湖心得經驗

1.慢就是快

堅持長期主義,不急功近利(只追熱度的作者能獲得流量,但最終會被利慾熏心,迷失方向,選擇看似漫長但有價值的事情)

2.不羨慕結果,重過程,有自己的規劃。(好友/親戚/同學加薪發財,只是結果,你應該借鑒別人優秀的地方)

3.做事思考能否提供價值,可以且持久地就不斷專研輸出。

4.微小迭代,再大的事也是由無數小事組成的。

5.人能成就事,反之,事亦能成就人。(相互促進)

大神如何煉成?

1.站得越高,看得越全,越慌越痛苦

公司就像在市場這個洶涌大海洋行駛的大船,只有站在甲板的船長能看到全景,大部分人活在自己想像的安全港里。

2.生意本質是信息差

所有生意都是一時的,一萬年太久,只爭朝夕

3.工作心態不一樣

成功人的船長思維,在風口看到風險和機遇,迎接挑戰,而普通人活在自己給自己的短暫虛妄的安全世界,活在自己的安全世界裡。

如果興趣成為職業會怎麼樣?

人生的關鍵是吃苦,當興趣成為自己的工作時間久了就會痛苦,唯有主動堅持才能對抗

成為高手需在沒有感覺的情況下蹚過漫長無聊和低成就感時期(習慣成功之路的孤獨和堅韌),蹚不過就一直二流水平(如成為入寫手,要寫作日更3000字,而大多數人只挺不過一周,就過濾了大多數無法堅持的人)

幾個人生真相

性格、財富、知識、見識、社會關系,幾個變數互相影響、互相因果,財富上升會讓人明顯開朗進而提升社會關系和見識。

多數人的「社恐」:往往是舒適區的表現,在熟人面前大大咧咧,在陌生人面前慌亂,並不是有雙重人格,而是擔心陌生人不接納自己。

肌肉記憶才是真記憶

菜鳥和高手區別在於高手肌肉記憶庫工具很多,信手拈來快速解決問題,多練習把工具箱內容沉澱,佔領先機後搶佔下一個山頭。延伸到心智層面,面對困難積極想辦法解決,成為肌肉記憶。

繞開負能量,人心敏感而脆弱(不參加失敗者派對)

失敗者向著世界倒霉,盯著黑暗面,最後社會還是那樣,結果自己廢了。

錨定15%法則

在一個領域深耕,前期填鴨(需迅速),後期15%新知識(更快樂)。

百萬年薪必備技能(感覺分析的比較淺)

1.當領導

2.領導交代任何事情都竭力辦好

3.善於匯報工作,站在別人的角度看待自己的工作,別人要知道全靠你一張嘴。

4.謙遜,該親和親和,該嚴格嚴格

5.身體素質

起點不高如何向上爬

環境會改變人的思維,思維進一步改變個人境遇,從而進一步改變思維。

破圈層,越往上走越是熟人社會,馬太效應,你能力越強,幫你的人也越強,最後整理實力指數上升,

多數人面臨很多機會,只是當時選擇恐懼,選擇在舒適區待著,後來可選擇的路越來越少。

寒窗苦讀與財富

1.沒讀過書只能抓低端機會,(賣菜、修車、開飯店等),本科或者以上,稍微高端(軟體、新媒體、科技)

2.別被眼前自怨自艾,也別覺得自己很厲害,很多事眼前看沒啥意義,時間線放長才可能發現意義。

現實:寒窗苦讀很難超過別人幾代人的積累

翻盤機會:把自己送到稍微高一點的起跑線,頭腦被武裝過,且有搞定復雜問題的決定和方法

如果在互聯網只是消費自己時間和精力,而沒得到成長你就是工具。

國家層面分析

發達國家發展兩步:1.海外貿易,2.發達的國內市場(雙循環)

發展成發達國家的三個陷阱:

1.「低收入陷阱」,才能和啟動資金其中一樣缺失,都不可往更高層面走。

2.「中等收入陷阱」,環境保護,外企撤離後沒形成大規模國內市場,一地雞毛。

3.「高收入陷阱」,迷戀資本,只搞金融,把不賺錢和賺錢慢(類似科研)的都搬到海外。

什麼社會未來可期:深耕國內市場,提高科技水平(指數增長),抑制貧富差距,完善市場秩序,打擊資本投機惡性一面。

很多事情都是經過漫長的累積然後一飛沖天,前期線性,後期指數發展(贊同)

負利率如何形成?

公民多數不婚不育,無所追求,購買力低。銀行逼大家花錢把利率降成負的,降低貸款利率。

負利率影響:增長緩慢,機會稀缺,誰都不想花錢,創業也賺不到錢

艱苦奮斗的目的不是一直艱苦,搞低端製造業的目的不是一直低端,產業升級既是被迫,也是順勢而為。

E. 技術大牛是如何煉成的

閱讀全文

與程序員是怎麼樣煉成的相關的資料

熱點內容
平頂山寵物市場在哪裡 瀏覽:623
食品代理商如何做好 瀏覽:285
外匯交易要學會哪些技術 瀏覽:658
什麼市場下載的游戲內存很小 瀏覽:486
手機技術含量最高的是什麼企業 瀏覽:321
直通車代理需要什麼 瀏覽:229
國家什麼時間放開信息壟斷 瀏覽:856
咔咔酸奶有哪些產品 瀏覽:190
微信群信息時間間隔多久顯示 瀏覽:408
如何使用stc下載程序 瀏覽:686
vivoxplay5用什麼數據線 瀏覽:17
德國先進技術有哪些 瀏覽:672
炒股三成技術是什麼意思 瀏覽:392
有數據如何做分析圖 瀏覽:519
雙方交易受益怎麼處理 瀏覽:790
如何運用已有數據進行創新 瀏覽:379
蘋果跟安卓怎麼互導數據 瀏覽:327
單位人事代理人員工資怎麼樣 瀏覽:164
數據准確性的可接受標準是什麼 瀏覽:445
家電智聯產品有哪些 瀏覽:11