文檔驅動開發(fā)

前言

近來工作有些感悟記錄下來逃沿,總結經驗应闯,以便在以后的生活工作中實踐檢驗陶珠。
本次的經驗總結為: 用文檔驅動開發(fā)

目標

工作不能 糙犯犁,快,猛号胚, 要 好又快籽慢。
在資本增密、技術增密猫胁、勞動增密但是排斥勞動者個數的互聯網行業(yè)箱亿,糙快猛是沒有前途,是死路一條弃秆,唯有好又快才是個人的出路届惋。
那么如何做到又好又快的完成工作呢,方法之一為文檔驅動開發(fā)菠赚。

為什么要文檔驅動開發(fā)

假如有一個任務來了脑豹,那么常見的糙,快衡查,猛做法是溝通需求瘩欺,大致設計一下架構,區(qū)分一下模塊拌牲,然后創(chuàng)建代碼倉庫俱饿,擼起袖子開始寫。寫著寫著就發(fā)現各種各樣沒想到的問題们拙,先是需求變動稍途、然后是設計不合理阁吝、接口變化砚婆,再然后是寫完之后,發(fā)版突勇,管控困難装盯,break change,質量不穩(wěn)定甲馋,可維護性差埂奈,可讀性差,有黑盒子邏輯定躏,新人貢獻代碼困難账磺,review困難等芹敌。需要很大的心力手動處理各種臟活。
文檔驅動開發(fā) 的區(qū)別是對于這樣的任務垮抗,先寫文檔氏捞,寫文檔并不是高考卷旁的草稿紙,而是真正答完要交的高考卷冒版。(可以有各種草稿紙液茎,但是最終要寫在考卷上)。
寫文檔只是表面區(qū)別辞嗡,真正的區(qū)別是捆等,形成思于先而行于后的習慣,只有想清楚了续室,才能做得快速栋烤,做的明白、做的踏實挺狰。這是一種開頭表面上慢班缎,但是實際上很快速,質量又得到最大限度保證的行事方法她渴。
寫作是注意力高度集中达址,思維高度凝聚的一種方式,當你寫下文檔時趁耗,會讓你思路清晰沉唠、去偽存真、也方便后來的維護苛败。人腦是記不住哪些細節(jié)的满葛,即便是當初覺得想的很明白、很清晰的事情罢屈,過幾個月再看也會相見不相識嘀韧。

如何寫文檔

寫的好的文檔才能驅動你的開發(fā),寫的差的文檔缠捌,反而會擾亂思維锄贷。
好的文檔要求:

  1. 目標明確,思路清晰曼月,邊界清楚谊却。
  2. 語言凝練,描述準確哑芹,切記啰嗦炎辨。
  3. 經常維護
  4. 表達形式豐富,動態(tài)圖聪姿、邏輯圖碴萧、流程圖等乙嘀。

如何下筆寫文檔
千里之行始于足下,寫文檔第一件事是明確目標破喻。明確目標是很難的事情乒躺,需要對需求的認證高度抽象,需要不斷練習精進低缩。
目標明確后嘉冒,要確認邊界。確認邊界是很重要的事情咆繁,應對各種復雜的現實讳推,一個項目解決的是一個或者一類事情,如果做成了玩般,會有各種各樣的事情想要加入進來银觅,把項目變得臃腫,惡心坏为。項目變大是一件好事究驴,但是如果超出了邊界就得不償失了,不如用另外一個項目解決超出邊界的問題匀伏。
目標明確了洒忧,邊界確認好了,剩下的就是 前期調研够颠、技術選型熙侍、設計架構質量管控履磨、版本記錄蛉抓、交付方式TODO List 剃诅。

舉例項目 -

  1. 背景介紹
  2. 目標
  3. 版本變更
  4. 前期調研
  5. 技術選型
  6. 架構設計
    6.1 模塊劃分
    6.2 整體架構圖
    6.3 高可用擴展
    6.4 災備
  7. 質量管控
    7.1 靜態(tài)掃描(golint, eslint,pylint, flake8)
    7.2 單元測試 (coverage)
    7.3 API 測試
    7.4 回歸測試
  8. CI-CD
    8.1 git倉庫管理 (簡單的項目可以用Tag的方式管理分支巷送,trigger ci-cd)
    8.2 CI-CD
    8.3 灰度上線
    8.4 對外交付方式
  9. 文檔管理 (API文檔, 用戶文檔建議把文檔集成到Repo中,這樣review代碼時也可以Review文檔)
  10. 平滑升級
  11. TODO List

抽象能力矛辕、需求認知笑跛、調研能力、架構能力如筛、溝通能力的提升是沒有捷徑的堡牡,需要不斷的實踐練習抒抬,才能逐步提升杨刨。

反思

  1. 為什么會有糙快猛的現象?甚至是很多時候自己犯過同樣的錯誤擦剑。
    個人理解為妖胀,這是人類進化出來的本能反應芥颈,人類的應激式反應或者是應激式思考。人類的大腦可是消耗資源的大戶赚抡。深度的思考對資源的消耗更是夸張爬坑,千萬年來,人類一直處于資源匱乏的時代涂臣,進化的本能阻止深入的思考盾计。

Action

  1. 文檔驅動開發(fā),開發(fā)前先寫文檔赁遗,把碎片化的思路擰成一股繩署辉,去偽存真。
  2. 培養(yǎng)思于先而行于后的習慣, 具體鍛煉方式為:
    a. Review自己的代碼或者別人的代碼岩四,人腦編譯哭尝,想各種 edge case。
    b. 做leadcode時剖煌,腦海中編譯測試過了再提交測試材鹦,不要應激式的思考。
  3. 多看好的文檔或者樣例耕姊,有好的輸入源桶唐,才能有好的輸出。

結束語

孔子說過茉兰,三人行莽红,必有我?guī)煟瑩衿渖普叨鴱闹畎睿洳簧普叨闹?br> 要培養(yǎng)對善安吁、不善的細粒度的感知,這是根本能力燃辖。知其善才能從之鬼店,知其不善,才能改之黔龟。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末妇智,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子氏身,更是在濱河造成了極大的恐慌巍棱,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛋欣,死亡現場離奇詭異航徙,居然都是意外死亡,警方通過查閱死者的電腦和手機陷虎,發(fā)現死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門到踏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杠袱,“玉大人,你說我怎么就攤上這事窝稿¢垢唬” “怎么了?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵伴榔,是天一觀的道長纹蝴。 經常有香客問我,道長踪少,這世上最難降的妖魔是什么骗灶? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮秉馏,結果婚禮上耙旦,老公的妹妹穿的比我還像新娘。我一直安慰自己萝究,他們只是感情好免都,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著帆竹,像睡著了一般绕娘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上栽连,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天险领,我揣著相機與錄音,去河邊找鬼秒紧。 笑死绢陌,一個胖子當著我的面吹牛,可吹牛的內容都是我干的熔恢。 我是一名探鬼主播脐湾,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼叙淌!你這毒婦竟也來了秤掌?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤鹰霍,失蹤者是張志新(化名)和其女友劉穎闻鉴,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體茂洒,經...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡孟岛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚀苛。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡在验,死狀恐怖玷氏,靈堂內的尸體忽然破棺而出堵未,到底是詐尸還是另有隱情,我是刑警寧澤盏触,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布渗蟹,位于F島的核電站,受9級特大地震影響赞辩,放射性物質發(fā)生泄漏雌芽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一辨嗽、第九天 我趴在偏房一處隱蔽的房頂上張望世落。 院中可真熱鬧,春花似錦糟需、人聲如沸屉佳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽武花。三九已至,卻和暖如春杈帐,著一層夾襖步出監(jiān)牢的瞬間体箕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工挑童, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留累铅,地道東北人。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓站叼,卻偏偏與公主長得像争群,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子大年,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359