国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于高效程序員的看法

工程師人生 ? 來源:網絡整理 ? 作者:工程師吳畏 ? 2018-11-20 16:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前一段時間看了兩本書《高效程序員的45個習慣——敏捷開發修煉之道》和《高效能程序員的修煉》。書名很相似,讀完這兩本書花的時間也差不多,都是兩個星期左右。兩本書內容差別卻不小。不過,總結起來一句話:都是好書!

“變”——讀《高效程序員的45個習慣》所想到的

《高效程序員的45個習慣》原名Practices of an Agile Developer,所以這本書主要是講敏捷開發方法與實踐的。由于對團隊和協作沒什么清晰的概念,而且書中大多是以團隊開發為實例的,看完以后有好多地 方沒太明白。所以,這本書不太適合大一的讀,估計我還需要兩年后再讀一次。

但是還是有很多收獲的,作者Andy Hunt和Venkat Subramaniam在書中傳授了很多敏捷開發的思想,不但適用于團隊,而且對獨立開發者也有很大借鑒意義。在這里總結一下:

不管路走了多遠,錯了就要重新返回——要快速適應變化。

開發要持續不斷,切勿時續時斷。

態度決定一切。

指責不能修復bug——出現了問題以后,首先要做的不是追究責任,而是解決問題。(原文更經典一些:Blame doesn’t fix bugs. Instead of pointing fingers, point to possible solutions. It’s the positive outcome that counts. )

過程符合標準不意味著結果是正確的。結果重于過程(“結果不重要”向來都是說給失敗者的)。

如果你沒有犯過任何錯誤,說明你可能沒有努力工作。

你不需要很出色才能起步,但是你必須起步才能變得很出色。——Les Brown

能容納自己并不接受的想法,表明你的頭腦足夠有學識。——亞里士多德

如果你自己都不清楚所談論的東西,就根本不可能精確地描述它。——約翰·馮·諾依曼

代碼清晰程度的優先級應該排在執行效率之前。

跟蹤技術變化。

習慣很可能造就一個專家,但同樣也能毀了這個專家(自己想的,有點扯)——打破舊習慣很難,更難的是自己還沒有意識到這個問題。

選定了要走的路,就是選定了它通往的目的地。

雖然這是一本關于項目開發方法的書,作者也通篇在講開發中需要注意規避和正確的做法與心態,但是我卻從中看到了更多程序以外的東西。

作者在第一章就總結說,敏捷開發要不斷地使用反饋進行自我調整和完善。這句話真的很好,只有不斷的調整和完善才能跟上技術和設計的步伐,不至于項目 交付時拿出來的是一個脫離了潮流甚至充滿錯誤設計的東西。其實對生活也是這樣。經常總結自己,當發現生活偏向某個極端時,就做一下調整,就像航海時發現偏 離航線了要及時調整航向一樣,否則因為反應遲鈍帶來的痛苦與損失是要付出很多代價的,而且付出的代價往往與問題發現的時間成正比。越早發現問題,就越容易 修復問題。

管理大師德魯克說∶“世界唯一不變的是變化。”真正的敵人是變化,而且你不可能打敗變化,你所能做的就是適應變化。看完這本書,個人感覺,其實就一 個字就能把這本書想說的敏捷開發給概括,那就是“變”。如果能在變化中使自己變化以適應變化,見機行事,隨機應變,你就達到了“敏捷”(相關內容可以看我 之前寫的All Over Again)。

另外,書中《使用短迭代,增量發布》一文給我留下很深印象。短迭代讓人感覺非常專注且具效率。你能看到一個實際并且確切的目標。嚴格的最終期限迫使 你做出一些艱難的決策,沒有遺留下長期懸而未決的問題。如果每個迭代時間都不夠用,要么是任務太大,要么是迭代的時間太短。把握好自己的節奏。

重構生活

你要不斷從自己寫的代碼中得到反饋,并且使用自動化工具不斷地構建和測試系統。在前進的過程中,你都會有意識地修改一些代碼:在功能不變的情況下,重新設計代碼,改善代碼質量。這就是所謂的重構。

當你把這段話中的“代碼”換成“生活”時,你會發現它同樣是對的。所以,就像團隊需要隔段時間重構自己項目的某些代碼以減少bug、精簡代碼一樣,你也要學會重構自己的生活,來提高生活質量。

所以說,世界著名程序員中有很多是哲學家自己想的。

你所需要的僅僅是一個新的習慣。

“快樂”與“熱情”——《高效能程序員的修煉》教給我的

另一本,是Stack Overflow創始人之一Jeff Atwood的 《高效能程序員的修煉》。這本書類似于《黑客與畫家》,文章主要取自作者的博客CodingHorror。看完之后,與上一本不同的是,這本書淺顯易懂,而且處處體現出作者積極向上的幽默,通過各種實例,闡述了自己對程序員應有的態度、學習方法、技能的看法,最后還談到了職業規劃和程序員的幸福,很適合初級程序員和學生讀。

下面是我對書中主要內容的一些筆記(主要是自己總結的,想了解更多還是去看書吧):

問自己:“你究竟想過怎樣的生活?”

人們需要花一生的時間去學習如何有效地寫作。而且這事沒有捷徑。

程序員應該通過讀書或閱讀博客來磨快自己的“鋸子”。

避免同時做多個項目,不要高估自己的能力。

出現問題時,盡量認為是自己的錯。

自己是阻止自己進步的罪魁禍首。

就像不要寫沒用的代碼一樣,不要寫沒用的注釋。

當你需要寫注釋的時候,先看看自己能不能把代碼寫得更易懂一些。

學會閱讀源代碼,不管是自己的還是別人的。

對于創意來說,執行是一個增倍器。它能放大創意的價值,甚至更多。(閑扯一下,你如果在07年之前說你有一個關于手機的棒極了的點子:它有 一個智能系統,可以裝應用;還有一個觸摸屏,可以用手觸摸,還可以用多個手指!這個點子真是太棒了,好,給你10塊錢上一邊去!因為這只是個點子,不是 iPhone

性能是成功產品的必備屬性。對一個網站來說,要么很快,要么死去。

很多程序員不會編程。Are you one of them?

軟件開發者最擅長的就是學習。

工作經驗年數與編程技能之間是沒有必然聯系的。

不管出了什么問題,都是人的問題。

程序員就像“吸血鬼”,而系統管理員就像是“狼人”。(很有意思的比喻,可以看這篇博客Vampires (Programmers) versus Werewolves (Sysadmins))

嘗試結對編程。(與作者在書中的觀點不太一樣,作者是結對編程的忠實擁護者)

會議是浪費工作時間的絕佳去處。(加入學生會的人應該深有感觸)

高效的程序員都有絕佳的工作環境。(這一點很重要)

程序是所有微小細節的集合,而細節決定成敗。

難以使用本身就是一個大bug。

第一版做的不好,但照樣發布。

傾聽用戶的聲音,但別被他們牽著鼻子走。

……最難的事,要搞明白你沒日沒夜地拼命工作到底是為了什么。

提問的藝術——你喜歡問“為什么”,這很好。但你為什么問”為什么”?

兩本書都提到了一點,在問“為什么”之前,一點要想好自己為什么問這個問題。當你問“為什么“的時候,也許你會被反問:“為什么你問這個問題?”所以在提問之前,想好你提問的理由,這會有助于你問出恰當的問題。

在提問之前,一定要確定:

問題是什么?

你為這個問題做了什么嘗試?

你為什么需要答案?

歸根結底,這關乎公平:如果你想要別人花上寶貴的時間來幫助你,只有在你也花了相當的寶貴時間醞釀出一個合格的問題時才算公平。幫助別人就是幫你自己!

如果你能完全投入地向一個假想中的人或者是沒有生命的物體問一個透徹而詳盡的問題,你往往會在最后認識到你犯了某中愚蠢的錯誤,于是問題不再是問題,你也因此如釋重負。

如果你讀到這里了,強烈建議你看下這篇Rubber Duck Problem Solving

唯快不破

“沿著那條路走下去,一定要快。如果有什么東西擋住了你的去路…繞開它!”

其實,作者在建立Stack Exchange時也用到了敏捷方法,而且“快”是Stack Overflow的制勝法寶。第一版做的不好,但照樣發布,然后在不斷的用戶反饋中獲得靈感與思路,在快速迭代中完善產品。

idea就是shit

在國內App創業浪潮中,很多人都強調了創意的重要性,甚至認為有了一個想法(先不說它的好壞)就有了一點,整天把“idea”掛在嘴邊,認為自己 就是下一個喬布斯。但其實idea一文不值,重要的是去實現它。因為你要相信,你能想到的,別人也能想到(同樣先不說它的好壞),但你能做到的,別人不一 定能做到。

如何應對初見成功后出現的復制品

當遇到自己產品的復制品時,該怎么做呢?很多人發現有類似自己的網站或是模仿自己的App上線時,都變得很瘋狂,在各種社區、論壇或是問答網站表達 無奈和委屈,以博得同情,或是大罵山寨者,引起眾怒。但其實這一點用也沒有,當你在哭爹喊娘的時候別人已經超過你了。我現在還沒聽說哪個開發者把山寨貨告 上法庭并打敗對方的事。看看Jeff在面對Stack Overflow的復制品時是怎么做的,

現在市面上已經出現了一些Stack Overflow引擎的復制品。我想說他們干的不錯!……我們的使命是讓互聯網變得更好(哪怕我們只能帶來一些細微的改進)。……我們沒曾想過要推翻誰或 者占有什么東西。所以在這個過程中,如果有任何東西擋住了我們的路,請放心,我們不會大打出手。我們會繞開。然后繼續向前,快速進步。因此,如果那些抄襲者想要跟上我們的話,他們也得行動快點。

懂了嗎?就是一個字——“快”。只有比你的對手快,你才能打敗那些山寨者。Chrome為什么會在短短幾年打敗IE(但人家仍是市場份額老大)和Firefox,就是因為它極速的迭代速度。

前幾天在知乎上看到有人問“如何在國內盜版橫行的Android市場上存活”,我是這樣回答的

兩條路,要么一直創新讓別人趕不上,要么放棄這個市場。

其實我是推薦后者的。

自己關于提高效率的想法

效率低下的罪魁禍首往往不是信息不足,而是信息過多。

希捷前CEO Bill Watkins在06年曾放出一個讓很多人驚掉眼鏡的說法:“醒醒吧,硬盤是不能改變這個世界的。它能做的就是幫助人們存儲更多的垃圾文件和色情片。”雖 然的確有些夸張了,但是面對越來越大的硬盤,想一下,你真的需要那么多空間來存放那么多文件嗎?

如果想做到“敏捷”和“高效”,就必須輕裝上陣,因此:

桌面上不放任何東西

清理硬盤

系統里少裝程序

一次只開一個程序

適時斷網

*以上按有效程度排序

如果你看到這里了,我的建議是,《高效程序員的45個習慣——敏捷開發修煉之道》和《高效能程序員的修煉》兩本書你一定要讀。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 程序員
    +關注

    關注

    4

    文章

    956

    瀏覽量

    30942
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    堆棧的原理揭秘

    百度百科試圖傳遞的信息翻譯為人話: 2. 為什么需要堆棧?首先,為什么需要堆棧?真的是搞計算機的那幫宅男吃飽了撐的嗎? 【編者注:必須不是!魯迅曾經說過:“不想偷懶的程序員不是好程序員”,就算是吃
    發表于 01-23 07:08

    芯盾時代SDP助力企業應對核心機密泄露危機

    無論你是程序員、文案、財務,無論你想擼代碼、出海報、做報表,各式各樣的AI總能滿足你的需求,讓你的工作更加輕松。
    的頭像 發表于 12-26 11:49 ?666次閱讀

    大理的AI野心藏不住了——風花雪月中千名程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會暨大理人工智能與應用國際開發者大會在大理圓滿落幕。
    的頭像 發表于 12-24 17:45 ?720次閱讀
    大理的AI野心藏不住了——風花雪月中千名<b class='flag-5'>程序員</b>探討人工智能

    程序員最常見謊言

    了。 28我已經測試過了,這個功能沒問題,可以上線了。 29別擔心,這個問題很快就能解決。 30代碼快寫完了,已經完成 90% 了 。 希望大家對程序員多一些容忍以及諒解! 各位程序員你們都被我說中了哪些?說說你們的觀點
    發表于 12-10 08:24

    堆和棧的區別

    程序員分配釋放, 若程序員不釋放,程序結束時可能由OS回收 。注意它與數據結構中的堆是兩回事,分配方式倒是類似于鏈表,呵呵。
    的頭像 發表于 11-27 18:13 ?1089次閱讀

    軟通國際亮相2025沙中開源與AI科技峰會

    2025年11月11日,由沙特程序員協會(parmg)主辦的"2025沙中開源與AI科技峰會"在利雅得盛大啟幕。
    的頭像 發表于 11-14 17:45 ?1478次閱讀

    奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動圓滿收官

    1024程序員日”系列活動至此劃上了一個圓滿句號。本屆1024程序員節以“AI構建世界,智能引領未來”為主題,廣邀技術大咖、產業領袖、企業代表與全球開發者齊聚星城
    的頭像 發表于 10-27 18:59 ?781次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動圓滿收官

    開鴻智谷“以賽促學、以賽選才”|1024程序員節暨開源鴻蒙構建大會圓滿落幕!

    10月24日,由開鴻智谷聯合主辦的長沙1024程序員節暨開源鴻蒙構建大會在長沙圓滿落幕。本次活動以“湘聚長沙,共赴熱AI”為主題,通過技術分享與實戰競賽相結合的方式,著力培養“開源鴻蒙+AI”領域
    的頭像 發表于 10-27 17:58 ?708次閱讀
    開鴻智谷“以賽促學、以賽選才”|1024<b class='flag-5'>程序員</b>節暨開源鴻蒙構建大會圓滿落幕!

    無法在調試中連接到PSOC4怎么解決?

    您好,我有一塊使用 PSOC4 CY8C4013SXI-410 制作的小板。非常簡單的設備,它只有三個 GPIO 引腳并通過 5 引腳 SWD 進行編程。我遇到的問題是程序員能夠看到該設備但無法對其進行編程。
    發表于 07-22 06:02

    程序設計與數據結構

    的地址)出發,采用推導的方式,深入淺出的分析了廣大C程序員學習和開發中遇到的難點。 2. 從方法論的高度對C語言在數據結構和算法方面的應用進行了深入講解和闡述。 3. 講解了絕大多數C程序員開發
    發表于 05-13 16:45

    CY7C68013A無PID和VID,如何制作PDF?

    我用 CY7C68013A MCU 設計了一個 PCB,所以這意味著我不是程序員之類的。 但是我嘗試上傳一些代碼,但沒有 PID 和 VID。 我找到了一些關于如何制作的 PDF,但那些對我來說很難。 有人可以幫我嗎?
    發表于 05-13 07:50

    計算機網絡排錯思路總結

    明人不說暗話,這篇文章我們來聊一個非常有用,同時也是程序員必備的技能,那就是網絡排錯思路大總結。
    的頭像 發表于 04-01 17:32 ?893次閱讀
    計算機網絡排錯思路總結

    如何在 樹莓派 上編寫和運行 C 語言程序

    ,一本很好的書是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。這本書對經驗豐富的程序員和想學習C語
    的頭像 發表于 03-25 09:28 ?1157次閱讀
    如何在 樹莓派 上編寫和運行 C 語言<b class='flag-5'>程序</b>?

    零基礎入門:如何在樹莓派上編寫和運行Python程序

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本語言而開發的。Py
    的頭像 發表于 03-25 09:27 ?2042次閱讀
    零基礎入門:如何在樹莓派上編寫和運行Python<b class='flag-5'>程序</b>?

    Gemini Vision + Raspberry Pi 化身“數字導盲犬”?

    本文討論了一位程序員利用樹莓派、攝像頭、Gemini和Python構建PeregrineEye設備,使其成為“數字導盲犬”為視障者服務的項目經歷,包括項目靈感、功能、構建過程、遇到的挑戰及未來計劃等
    的頭像 發表于 03-25 09:20 ?1925次閱讀
    Gemini Vision + Raspberry Pi 化身“數字導盲犬”?