亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

README 怎么寫:從項目入口到工程化維護指南

README 怎么寫:從項目入口到工程化維護指南 README 這三個字母幾乎每個碰過倉庫的人都見過但真要把你真的知道 README 嗎這個問題拋出來能答得漂亮的人并不多。我做過幾年內(nèi)部工具和開源項目的維護見過太多這樣的場景代碼寫得干凈利落測試覆蓋也夠結(jié)果 README 里只有孤零零一行項目名外加一句安裝依賴后運行。新人接手第一天就得私聊作者七八個問題外部用戶點進來三秒鐘關(guān)掉頁面。README 不是倉庫里的裝飾品它是這個項目唯一一份24 小時在線、面向所有陌生人的說明書也是你未來自己的救命稻草。這篇內(nèi)容面向所有需要往倉庫里填字的人寫業(yè)務(wù)的、做工具的、搞算法的、維護內(nèi)部平臺的只要你的項目需要被別人跑起來讀下去就有收獲。我會從設(shè)計思路、逐塊寫法、實操落地、問題排查一路講透中間穿插我踩過的坑和可以直接抄的結(jié)構(gòu)。1. README 到底在解決什么問題1.1 先搞清楚讀者是誰再決定寫什么很多人寫 README 時腦子里沒有具體的讀者形象于是寫出來的東西既不像給自己的備忘也不像給別人的教程最后變成一堆零散信息的堆放場。我的習(xí)慣是先把讀者分成四類寫的時候腦子里想著他們各自的時間預(yù)算。第一類是三分鐘后要決定要不要用這個東西的陌生人他們來自搜索、社區(qū)或者同事轉(zhuǎn)發(fā)只想知道這是什么、值不值得繼續(xù)看。第二類是明天就要把它跑起來的使用者他們關(guān)心最短路徑、依賴版本、配置項。第三類是半年后的你自己你已經(jīng)忘了當(dāng)時為什么選這個方案、那個參數(shù)為什么設(shè)成 64你需要一份能喚醒記憶的上下文。第四類是潛在的貢獻者他們想知道代碼怎么組織、怎么提改動、有哪些約定。這四類人的需求是遞進的不是并列的。README 的任務(wù)就是把這四種需求按優(yōu)先級排好讓第一類人三十秒內(nèi)得到答案第二類人五分鐘內(nèi)跑起來第三類人隨時能查到?jīng)Q策依據(jù)第四類人知道從哪兒下手。我見過反過來的寫法開頭先鋪兩千字的架構(gòu)演進史把怎么用塞到文檔末尾結(jié)果外人根本撐不到那一節(jié)。這不是內(nèi)容不對是順序錯了。還有一個容易被忽略的點README 的讀者里有很大一部分是搜索引擎和代碼托管平臺的推薦算法帶來的。別人搜到你的項目落地頁就是 README。這時候它承擔(dān)的其實是產(chǎn)品首頁的角色標(biāo)題、第一段、截圖、徽章全都在影響這個人的第一判斷。把 README 當(dāng)產(chǎn)品頁寫很多取舍就自然清晰了。1.2 文檔分層README 只該承擔(dān)入口那一層一個健康的項目文檔體系其實是分層的README 只是最上面那一層入口。我把常見文檔按職責(zé)拆成這么幾塊你可以對照自己的倉庫看看是不是全都塞進 README 里了。README 負責(zé)這是什么、怎么最快跑起來、去哪兒找更多docs/目錄負責(zé)深入內(nèi)容比如設(shè)計文檔、部署手冊、性能報告代碼注釋負責(zé)實現(xiàn)細節(jié)和為什么這么寫CONTRIBUTING.md負責(zé)協(xié)作流程和提交規(guī)范CHANGELOG.md負責(zé)版本變更LICENSE負責(zé)授權(quán)條款配置示例文件負責(zé)字段說明。分層的好處在于README 可以保持短而有力不被細節(jié)拖累。我踩過的一個典型坑是早期把完整的接口文檔、所有配置項、整套部署流程全都塞進 README結(jié)果它膨脹到八百多行誰都不想讀改起來還容易漏。后來拆成 README 加docs/README 里只留一個指向文檔站的鏈接和一份最小配置示例維護成本立刻降下來。判斷某個內(nèi)容該不該放進 README我用的標(biāo)準很簡單如果一個剛接觸項目的人在決定要不要用和第一次跑通這兩個階段一定會需要就放 README如果只有深入使用或二次開發(fā)時才需要就放進docs/README 里留個入口。這個標(biāo)準執(zhí)行下來README 的長度通常能控制在兩三屏之內(nèi)信息密度反而更高。1.3 三個最常見的認知誤區(qū)第一個誤區(qū)是把 README 當(dāng)成項目竣工后才需要補的作業(yè)。實際上它應(yīng)該是和代碼同步生長的東西。我的習(xí)慣是倉庫初始化第一個提交里就有 README 骨架哪怕內(nèi)容只有項目名和一句話定位也比空白強因為它會持續(xù)提醒你這個項目現(xiàn)在對外是什么狀態(tài)。第二個誤區(qū)是寫給自己看的備忘當(dāng)成了對外說明。這兩者的差別非常大備忘可以寫按上次那個方式跑就行對外說明必須把上次那個方式完整寫出來。我見過不少內(nèi)部項目的 README 里出現(xiàn)參考老版本配置同之前一樣新同事看了一臉茫然。任何指代都必須展開成可以獨立理解的句子這是硬要求。第三個誤區(qū)是認為代碼即文檔覺得 README 寫多了會過期不如不寫。這個邏輯只在極端情況下成立——比如一個純個人實驗倉庫。只要項目有第二個使用者README 的價值就遠超它的維護成本。真正的問題不是要不要寫而是怎么寫得不容易過期后面第三章我會專門講怎么把易變信息做成不易腐壞的形式比如用腳本代替手寫命令、用配置示例文件代替大段字段羅列。2. README 的骨架設(shè)計與信息排序2.1 黃金三屏讀者在不同屏上要看到什么我習(xí)慣把 README 的閱讀體驗按屏幕切成三段每一段有明確的任務(wù)。第一屏是決策屏讀者要在這里得到三個答案這是什么、給誰用、現(xiàn)在處于什么狀態(tài)。所謂狀態(tài)指的是項目是活躍維護還是已歸檔是實驗性質(zhì)還是生產(chǎn)可用這直接決定對方要不要繼續(xù)投入時間。很多人只寫功能不寫狀態(tài)結(jié)果用戶踩了一堆坑才發(fā)現(xiàn)這是個半成品。第二屏是上手屏要在最短距離內(nèi)讓人把東西跑起來。我通常把快速開始放在第一屏末尾或第二屏開頭不要讓人滾動半天才找到。這一屏的核心指標(biāo)是命令條數(shù)我的目標(biāo)是三條命令以內(nèi)跑通默認配置克隆、安裝、啟動。如果確實做不到那就說明默認配置設(shè)計得不夠友好這是代碼層面的問題靠 README 糊是糊不過去的。第三屏是深入屏把文檔、接口說明、常見問題、貢獻指南這些東西按索引方式排好。注意這里是索引不是全文。第三屏之后讀者基本已經(jīng)決定留下來他們要的是我遇到問題去哪兒查而不是你把所有內(nèi)容再貼一遍。這個三屏結(jié)構(gòu)最大的好處是讓寫作有了取舍標(biāo)準一句話放在哪一屏直接決定它該有多長、多詳細。我在實際改版中試過把一份六百行的 README 按這個結(jié)構(gòu)重組內(nèi)容一條沒刪只是重新排序和分層收到的反饋是順手多了。2.2 一份可直接復(fù)用的骨架下面這個骨架我用了很多版本基本能覆蓋大部分項目類型你可以直接抄下來改。順序本身就有信息量不要隨意打亂。項目名 一句話定位狀態(tài)徽章與關(guān)鍵鏈接文檔、示例、變更日志一段話說明它解決什么問題、適合誰核心特性列表最多五條每條一行快速開始環(huán)境要求、安裝、最小可運行示例、預(yù)期輸出配置說明表格 示例配置文件目錄結(jié)構(gòu)說明常見問題貢獻方式與授權(quán)說明這里有幾個細節(jié)值得展開。特性列表控制在五條以內(nèi)是因為超過五條讀者就不看了與其全列不如選最能體現(xiàn)差異化的。最小可運行示例必須包含預(yù)期輸出這一條能省掉大量我跑完了但不知道對不對的追問。目錄結(jié)構(gòu)說明只講第一層和第二層深層的靠代碼注釋和文檔寫太細必然過期。至于授權(quán)說明哪怕你暫時不打算開源也建議寫清楚是否允許內(nèi)部復(fù)用是否允許二次分發(fā)這種信息晚寫不如早寫等到有糾紛再補就麻煩了。2.3 不同類型的項目README 的重心完全不一樣寫 README 最忌諱套模板不看場景。同樣一份結(jié)構(gòu)在不同項目里的重心差別很大。我整理了一張對照表是我自己維護項目時的判斷依據(jù)。項目類型第一優(yōu)先級次要內(nèi)容常見錯誤庫或 SDK安裝命令、最小調(diào)用示例版本兼容矩陣、API 索引只寫概念不寫能跑的代碼應(yīng)用或服務(wù)依賴服務(wù)、啟動命令、端口與訪問方式配置項、部署說明漏掉前置依賴導(dǎo)致啟動失敗算法或研究代碼數(shù)據(jù)準備、復(fù)現(xiàn)命令、結(jié)果對照參數(shù)含義、訓(xùn)練耗時不寫隨機種子與硬件環(huán)境內(nèi)部工具權(quán)限申請、接入步驟、值班聯(lián)系人常見故障處理假設(shè)大家都懂內(nèi)部黑話拿算法類項目舉例我見過最多的抱怨是論文里的數(shù)字復(fù)現(xiàn)不出來。這類 README 如果只寫運行 train.py基本等于沒寫。至少要交代數(shù)據(jù)從哪兒來、預(yù)處理怎么做、用了幾張卡、訓(xùn)了多久、隨機種子設(shè)成多少最好附上一份小規(guī)模的可復(fù)現(xiàn)結(jié)果讓人能在幾分鐘內(nèi)驗證流程是通的。內(nèi)部工具的 README 則是另一種思路它不需要解釋為什么要做這個但必須寫清楚誰能用、怎么申請、出問題找誰。我維護過一個內(nèi)部調(diào)度平臺最初 README 里全是架構(gòu)圖結(jié)果新同事最常問的是權(quán)限怎么開后來把權(quán)限申請流程提到最前面重復(fù)提問直接少了一大半。3. 逐塊拆解每一節(jié)到底該怎么寫3.1 項目名與一句話定位項目名之后緊跟的那句話是整份 README 里性價比最高的文字。它決定讀者要不要往下滾。我總結(jié)了一個簡單的公式為誰提供什么能力讓他們能做成什么事。比如面向小團隊的本地任務(wù)隊列用一條命令就能把異步任務(wù)跑起來比一個高性能的分布式任務(wù)調(diào)度系統(tǒng)要有效得多因為后者除了形容詞什么都沒有。寫這句話時有兩個自我檢查。第一把形容詞全部刪掉看剩下的是不是還有信息量。高性能、輕量級、優(yōu)雅、現(xiàn)代化這些詞刪掉之后如果句子空了說明你沒說清楚它到底干什么。第二讓完全不懂這個領(lǐng)域的人讀一遍能不能說出哦這是用來干嘛的。我做過一個小實驗把定位句發(fā)給非技術(shù)崗位的同事看能復(fù)述出來才算過關(guān)。另外要克制堆特性的沖動。我見過開頭一句話里塞了七個功能點讀完什么印象都沒有。一句話只講一個最核心的價值主張其余的放到下面的特性列表和正文里去。3.2 徽章、截圖與演示素材的取舍徽章這塊爭議比較大。它的正面作用是快速傳遞狀態(tài)構(gòu)建是否通過、版本號、許可證類型、依賴更新情況。反面作用是視覺噪音尤其是那種一行掛七八個徽章的讀者眼睛會自動跳過整行。我的做法是只保留三類構(gòu)建狀態(tài)、最新版本、許可證。其余全部刪掉需要詳細信息的人會去看倉庫頁面本身。截圖和錄屏的價值遠高于徽章但要注意時效性。截圖一定要標(biāo)注對應(yīng)的版本號否則三個月后界面改了新用戶按圖索驥找不到入口反而制造困惑。演示動圖控制體積十幾秒足夠展示核心路徑不要錄三分鐘的全流程加載慢而且沒人看完。還有一個容易翻車的點不要放無法復(fù)現(xiàn)的演示鏈接。指向一個臨時環(huán)境的地址過兩周就失效了用戶點開是 404對信任度的打擊比不放鏈接更大。如果確實需要在線演示就把它做成可長期維護的服務(wù)并且寫清楚它是演示環(huán)境、數(shù)據(jù)會被定期清理。3.3 快速開始把能跑起來壓縮到最短路徑快速開始是整份 README 里被閱讀次數(shù)最多、也最容易出問題的一節(jié)。我的寫法是嚴格分四步每一步都有明確的驗證點。第一步環(huán)境要求寫清楚運行時版本、必要的系統(tǒng)工具、需要提前啟動的外部服務(wù)。版本號要具體到主版本比如運行時 18 及以上不要寫最新版因為最新版會隨時間漂移。第二步安裝命令要能直接復(fù)制粘貼執(zhí)行不要出現(xiàn)占位符混在命令里卻不說明怎么替換。第三步最小示例用最小的輸入展示核心能力。第四步預(yù)期輸出把成功時應(yīng)該看到的內(nèi)容原樣貼出來。這四步里第四步是最容易被省略、也最能省事的用戶看到輸出和文檔一致心里就踏實了。注意快速開始里的每條命令我都建議在一臺干凈環(huán)境或者全新容器里實測一遍而不是在自己已經(jīng)配置好的開發(fā)機上跑通就算數(shù)。這兩者的差別往往就是新人卡住的地方。我自己的習(xí)慣是維護一個scripts/quickstart.sh把快速開始里的命令原封不動放進去README 里既展示命令又提示可以一鍵執(zhí)行。這樣一來命令過期的問題在 CI 里就能被發(fā)現(xiàn)比靠人肉記憶靠譜得多。3.4 配置項、目錄結(jié)構(gòu)與接口說明怎么寫配置項最容易寫成流水賬。我的做法是統(tǒng)一用表格字段固定為名稱、類型、默認值、是否必填、說明。必填項要顯著標(biāo)記因為新人最常見的錯誤就是漏配必填項導(dǎo)致啟動失敗。說明列寫清楚單位比如超時時間是秒還是毫秒這種細節(jié)不寫一定有人踩坑。字段名類型默認值是否必填說明APP_PORT整數(shù)8080否服務(wù)監(jiān)聽端口需保證未被占用DB_URL字符串無是數(shù)據(jù)庫連接串格式見示例配置CACHE_TTL整數(shù)60否緩存過期時間單位秒LOG_LEVEL字符串info否取值 debug、info、warn、error表格之外再配一份config.example.yaml把典型配置寫全并加注釋。示例文件的好處是它可以被程序校驗字段名寫錯會直接報錯而 README 里的文字不會。我自己維護的項目里示例配置文件和配置解析代碼放在一起改代碼時順手就改了文件不容易脫節(jié)。目錄結(jié)構(gòu)說明只寫到第二層用注釋說明每個目錄的職責(zé)。接口說明則遵循最小可用示例原則一個接口給一段能直接運行的調(diào)用代碼勝過十段接口簽名羅列。3.5 常見問題與貢獻指南把重復(fù)回答沉淀下來常見問題這一節(jié)的價值取決于你有沒有真的去回收問題。我的做法是每周掃一遍收到的提問和討論凡是同一類問題出現(xiàn)兩次以上就寫進 README 的常見問題里并附上具體操作。寫的時候要用提問者的原話作為標(biāo)題比如啟動時報端口被占用怎么辦因為人們是用自己的表述去搜索的。貢獻指南如果只是復(fù)制一份通用模板其實沒什么用。真正有價值的是項目特有的約定分支怎么命名、提交信息什么格式、哪些目錄不要動、測試怎么跑、本地怎么驗證。我見過一個項目明確寫了修改解析邏輯必須同步更新 fixtures 下的樣例文件否則評審不會通過這一句話省掉了無數(shù)輪溝通。4. 實操從零把一個 README 打磨到可發(fā)布4.1 環(huán)境準備與倉庫初始化從零開始的時候我建議先把骨架搭出來再補內(nèi)容不要一邊想結(jié)構(gòu)一邊填字。第一步是把倉庫根目錄的基礎(chǔ)文件補齊包括 README、忽略規(guī)則文件、許可證、示例配置。目錄上我習(xí)慣把文檔放在docs/腳本放在scripts/示例配置放在倉庫根目錄方便一眼看到。mkdir your-project cd your-project git init mkdir -p docs scripts touch README.md .gitignore LICENSE config.example.yaml git add . git commit -m chore: 初始化倉庫結(jié)構(gòu)與文檔骨架這一步?jīng)]什么技術(shù)含量但它的意義在于讓文檔從第一天就參與版本管理。后面每一次改動都能追溯誰在什么時候把哪條命令改錯了一查提交記錄就知道。我經(jīng)歷過一次團隊協(xié)作因為 README 是后期補的沒人知道某條部署命令是誰在什么背景下改的排查花了很久。.gitignore要提前寫尤其是會生成緩存、日志、本地數(shù)據(jù)文件的場景否則提交歷史里會混進一堆無用文件刪起來很痛苦。4.2 快速開始板塊的實測寫法寫快速開始的時候我習(xí)慣先把命令在一個全新環(huán)境里跑一遍邊跑邊記錄然后把記錄整理成文檔而不是先寫文檔再去驗證。下面是我某次整理出來的寫法結(jié)構(gòu)可以直接套用。# 1. 獲取代碼 git clone repo-url cd your-project # 2. 準備依賴建議使用虛擬環(huán)境或版本管理工具 python -m venv .venv source .venv/bin/activate pip install -r requirements.txt # 3. 準備配置 cp config.example.yaml config.yaml # 4. 啟動 python -m app.main --config config.yaml啟動之后要給出預(yù)期輸出比如日志里應(yīng)該出現(xiàn)監(jiān)聽端口和就緒標(biāo)志。這一步我一般這么寫當(dāng)終端輸出server listening on 0.0.0.0:8080時表示啟動成功此時訪問http://localhost:8080/health應(yīng)返回{status:ok}。參數(shù)選擇上也有講究。端口為什么默認 8080是因為這個端口在開發(fā)環(huán)境里沖突概率相對低而且大部分人熟悉。緩存時間為什么默認 60 秒是因為在這個量級的業(yè)務(wù)里60 秒既能擋住突發(fā)重復(fù)請求又不會讓數(shù)據(jù)太陳舊。這些理由不一定要全寫進 README但你心里得清楚因為用戶改配置時問起來答案就是文檔更新的素材。提示涉及版本號的地方盡量寫成區(qū)間或最低版本例如運行時 18 及以上避免寫死一個精確版本否則下次升級就要改文檔改漏了就變成誤導(dǎo)。4.3 配置項與示例文件的具體寫法示例配置文件我通常這么組織按功能分組每組之間空一行每個字段上面一行注釋說明作用和單位。下面是一個簡化版示例。# 服務(wù)配置 server: port: 8080 # 監(jiān)聽端口 workers: 4 # 工作進程數(shù)建議不超過 CPU 核心數(shù) # 存儲配置 database: url: sqlite:///./data/app.db # 連接串生產(chǎn)環(huán)境請?zhí)鎿Q pool_size: 5 # 連接池大小 # 日志配置 log: level: info # 取值 debug、info、warn、error path: ./logs/app.log寫完示例文件后我會做一次反向校驗打開配置解析代碼逐個字段對照看有沒有文檔里沒寫、代碼里卻會讀的字段。這種隱藏配置項是最坑人的用戶改了半天發(fā)現(xiàn)還有個沒寫進文檔的必填字段。實測下來這種對照每做一次能提前消滅兩三個潛在提問。工作進程數(shù)這類參數(shù)我會在注釋里給出經(jīng)驗值比如建議不超過 CPU 核心數(shù)但不會寫死成固定數(shù)字。因為不同機器的規(guī)格差異很大寫死反而會誤導(dǎo)。4.4 發(fā)布前自查清單文檔寫完到發(fā)布之間我會固定走一遍清單。這套動作做熟了大概十分鐘能擋掉大部分低級問題。檢查項判斷標(biāo)準不通過的典型表現(xiàn)命令可復(fù)制逐條粘貼到終端能直接執(zhí)行命令里混著未說明的占位符干凈環(huán)境可跑在全新環(huán)境按文檔走一遍能成功依賴本機已有配置才能跑預(yù)期輸出一致實際輸出與文檔描述一致輸出格式已改文檔未更新鏈接有效所有鏈接可訪問指向已刪除的文檔或頁面版本信息準確運行時版本、依賴版本與代碼一致文檔寫 16代碼要求 18配置字段齊全代碼讀取的字段都在文檔里存在未記錄的必填字段我最看重的是第二條和第六條。干凈環(huán)境能跑通說明文檔是自洽的配置字段齊全說明文檔和代碼沒有脫節(jié)。這兩條守住了其余問題基本都是小毛病。5. 常見問題與排查技巧實錄5.1 讀者跑不起來的幾類根因復(fù)盤我處理過的照著 README 跑不通的問題根因其實就那么幾類而且和文檔質(zhì)量高度相關(guān)。第一類是環(huán)境差異比如本地裝了多個運行時版本README 沒寫清楚要求用戶用舊版本執(zhí)行就報語法錯誤。第二類是隱式假設(shè)作者在自己機器上跑得好好的因為某個目錄已經(jīng)存在、某個環(huán)境變量早就設(shè)好了文檔里完全沒提。第三類是缺前置服務(wù)比如項目依賴數(shù)據(jù)庫或消息隊列文檔只說啟動服務(wù)沒說這兩個得先起來。第四類是外部資源缺失比如模型文件、樣例數(shù)據(jù)集、需要聯(lián)網(wǎng)下載的依賴文檔沒交代獲取方式。第五類是路徑問題命令里寫的是相對路徑用戶換個目錄執(zhí)行就找不到文件。這五類問題我在自己的項目里都能對應(yīng)到具體的修訂記錄而且它們幾乎都能通過在干凈環(huán)境實測一遍提前發(fā)現(xiàn)。我還想強調(diào)一點用戶報跑不起來時提供的往往不是根因。他說啟動腳本報錯實際可能是端口被占他說依賴裝不上實際可能是鏡像源配置問題。所以文檔里除了寫正確路徑也值得寫一句如果出現(xiàn)某類報錯通常是某某原因把常見岔路標(biāo)出來。5.2 癥狀、原因與處理速查下面這張表是我這些年攢下來的放在這里你可以直接對照排查。癥狀常見原因處理方式提示找不到模塊依賴未安裝或虛擬環(huán)境未激活確認環(huán)境已激活重新安裝依賴端口被占用本機已有服務(wù)監(jiān)聽同一端口換端口或停掉占用進程配置文件報錯缺少必填字段或格式錯誤對照示例配置逐字段核對啟動后立即退出日志級別過低看不到錯誤調(diào)到 debug 級別重新啟動數(shù)據(jù)為空未執(zhí)行初始化腳本按文檔執(zhí)行數(shù)據(jù)準備步驟運行結(jié)果與文檔不符版本不一致或參數(shù)不同核對版本號與參數(shù)配置這張表的用法是文檔里每個條目寫成癥狀加處理不要展開原理。原理可以在文檔站里單獨寫一篇README 里保持簡短讓人一眼掃到自己的情況。我自己的經(jīng)驗是把這張表放在常見問題開頭能顯著減少重復(fù)提問。有一次我把最常見的三條提到最前面兩周內(nèi)同類提問從十幾條降到兩三條投入產(chǎn)出比非常高。5.3 讓 README 不那么容易過期文檔過期是個必然趨勢能做的是讓它過期得慢一點、被發(fā)現(xiàn)得早一點。我用的辦法有三個。第一個是隨代碼改任何影響使用方式的改動提交時順手改 README把這件事寫進評審清單里靠流程而不是靠自覺。第二個是可執(zhí)行化把文檔里的命令搬進腳本讓 CI 去跑命令一旦失效立刻暴露不依賴人工檢查。第三個是定期實測我一般每個版本發(fā)布前用干凈環(huán)境把快速開始走一遍把當(dāng)次發(fā)現(xiàn)的問題一并改掉。這個動作看起來笨但它能覆蓋很多自動化檢查抓不到的問題比如鏈接指向的頁面內(nèi)容已經(jīng)變了、截圖和實際界面不一致。還有一個經(jīng)驗不要追求 README 覆蓋所有情況。它的目標(biāo)是讓絕大多數(shù)人順利開始而不是解答所有邊緣問題。把邊緣問題引流到文檔站或者討論區(qū)README 才能長期保持精簡。我見過試圖把 README 寫成百科的項目最后的結(jié)果是沒人維護、內(nèi)容全面過期反而傷害了信任度。6. 把 README 做得更耐讀的幾個工程化手段6.1 用輕量工具守住格式與鏈接格式和鏈接是 README 最容易出問題的地方好在都有現(xiàn)成的小工具可以幫忙。格式檢查方面可以用 markdownlint 這類工具在提交前跑一遍常見的標(biāo)題層級混亂、列表縮進不一致、行尾多余空格都能自動標(biāo)出來。鏈接檢查方面可以用 markdown-link-check 之類的工具掃描所有鏈接把失效的挑出來。# 以 Node 生態(tài)為例安裝后在提交前或 CI 里執(zhí)行 npx markdownlint-cli2 **/*.md npx markdown-link-check ./README.md這兩個檢查我建議放進提交鉤子或者持續(xù)集成流程里因為人眼很難在幾百行文檔里發(fā)現(xiàn)一個失效鏈接。鏈接失效通常不是你的錯但對讀者來說就是你的問題所以定期掃一遍很有必要。目錄導(dǎo)航也可以自動化。文檔長了之后手動維護目錄既麻煩又容易漏用工具根據(jù)標(biāo)題層級生成目錄每次改完標(biāo)題重新生成一次就行。這類自動化能省下的時間不算多但能避免目錄指向不存在的章節(jié)這種尷尬。6.2 把可執(zhí)行的步驟做成腳本前面提過把快速開始的命令做成腳本這里展開說一下怎么組織。我的做法是在scripts/下放三個腳本環(huán)境準備、數(shù)據(jù)準備、啟動。README 里既寫出完整命令也提示可以用腳本一鍵執(zhí)行。# scripts/quickstart.sh 示意 set -euo pipefail python -m venv .venv source .venv/bin/activate pip install -r requirements.txt cp -n config.example.yaml config.yaml || true echo 環(huán)境準備完成接下來執(zhí)行 scripts/run.sh 啟動服務(wù)腳本比文檔有個天然優(yōu)勢它會真的被執(zhí)行壞掉就會報錯。文檔不會報錯只會安靜地誤導(dǎo)人。另外腳本里可以用set -euo pipefail讓任何一步失敗都立刻中斷用戶不用在滿屏日志里找哪一步出了問題。有一點要注意腳本不要做太多聰明的事比如自動修改系統(tǒng)配置、自動安裝系統(tǒng)級依賴。這種操作在別人機器上風(fēng)險很高容易引發(fā)反感。腳本的定位是把手工步驟串起來而不是替用戶做決定。6.3 多語言版本與文檔站的關(guān)系項目面向的使用者如果跨語言README 的多語言版本就值得考慮。我傾向的做法是根目錄保留主語言版本其余語言放在docs/下并在 README 頂部放切換入口。這樣既能覆蓋不同讀者又不會讓根目錄堆滿一堆 README 變體。需要提醒的是多語言版本最大的風(fēng)險是不同步。主版本更新了其他語言版本還停在半年前讀者看到的內(nèi)容自相矛盾。我自己的處理方式是只在項目趨于穩(wěn)定、確實有跨語言需求時才引入多語言并且在文件頭標(biāo)注最后同步時間和對應(yīng)的主版本方便讀者判斷新鮮度。至于文檔站它和 README 并不是替代關(guān)系。README 是入口和最短路徑文檔站是深入內(nèi)容的容器。兩者之間用鏈接互相指路即可千萬別想著把文檔站的內(nèi)容復(fù)制粘貼一份到 README 里那樣只會得到兩份都會過期的文檔。最后分享一點我自己的體會README 是我維護過的所有文檔里唯一一個會被反復(fù)打開、反復(fù)引用的東西。代碼可以重構(gòu)架構(gòu)可以推翻但 README 的每一句話都可能在某個深夜被一個著急的人讀到。我在實際項目里養(yǎng)成的習(xí)慣是每次收到這個怎么用的提問先不急著回答而是問自己一句這句話應(yīng)該出現(xiàn)在 README 的哪個位置。回答完這個問題答案往往順手就寫進文檔了下次同樣的提問也就不會再出現(xiàn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
少妇熟女1区2区3区| 小草av不卡亚洲二区| 免费试看60秒| 青青草五月份天| 91 丝袜在线| 另类图片五月天| 久久国产性爱| 日韩精品一区二区高清| 欧美碰碰综合色| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 麻豆天美一区二区| 青青草原成人| 中文日韩欧美熟| 中文字幕加勒比海高清无码免费视频| 嗯嗯啊啊视频在线看| 岛国毛片在线观看免费| 精品九九国产无码| 国产精品亚洲一级av第二区| 在线综合色| 日本操逼aaaaa| 床戏久久久av一区二区麻豆| 啊啊啊轻点在线观看| 欧洲免费一区二| 国产麻豆一级精品视频| 91性高潮久久久久久久久| 日逼视频日本| 欧美 日韩 亚洲 春色| 日本操逼无码| 国产免费内射视频| 在线午夜成人无码视频| 99久久99久久免费精品蜜臀| 日韩十八禁| 夜夜嗨一区二区三区三州加勒比| 青青草玖玖爱| 人妻五十路在线| 亚洲性猛| 2020中文字幕在线| 中国一级αV| 熟女人妻一区二区三区| 人人妻人人澡人人爽久久av| 思思热在线视频在线| 97天天日| 日本性交操一区二区不卡系列| 爱爱动态60秒| 黑人娇小av在线播放| 天天综合97| 久久99九九九九6666免费观看软件| 啊啊啊操死我了| 九九热re99re6在线精品| 国产麻豆一区二三区| 偷拍在线观看视频| 密臀成人视频久久久| 成人草草视频| 激情黄色片在线观看| 中文字幕在线免费观看2| 手机在线免费看的av| 色就色综合| 成年女人黄网站| 3p国产欧美99热| 五月婷婷性爱| 九九玖玖精品| 无毛精品| 久久精品无码一区二区三区| 亚洲成人激情小说视频| 狠狠操夜夜| 亚洲另类在线观看| 黄色高清久久无码依人| 久久精品成人| 亚洲精品乱码久久久久久蜜桃麻豆| 日韩一区二区三区四区五区| 五月婷婷丁香| 日日骚 av| 人妻无码一区二区三区久久99| 一二三四区电影| 久久97| 一个人免费视频观看在线WWW | 在线综合 亚洲 欧美中文字幕| 国产肏屁眼视频| 91国产在线精品| 久夜操| 人人性爱视频免费| 色综合色欲色综合色综合色综合| 欧美中文字幕男人天堂久久精品| 日本男人天堂| 91精品啪在线观看国产城中村| 国产精品熟女乱伦| 欧州一区二区三区四区| 精品少妇人妻av久久免费| 日韩免费性爱视频在线观看| 亚洲精品97久久中文字幕| 亚洲av性爱电影| 欧美性爱视频免费一区一A| 91美女在线精品视频| 久久九操在线观看| 三男一女不戴套的A片| 91精品丝袜在线观看| 欧美性区| 思思久热在线精品66| 性爱精品一区| 9久精品视频在线观看| 欧美—性—交—色| 国产成人免费观看在线视频| 熟女一区二区| 无码高清操逼| 东京热亚洲一区二区| 大乔未久88一区| 人人妻人人爱人人玩| 精品人体无圣光凹凸| 日韩一999精品| 天天做天天爱| 亚洲网自拍| 久久久久久九九九九| 最新啪啪视频| 欧美偷拍| 欧美日韩免费专区在线| 欧美色乱| 精品少妇后入一区二区三区四区人妻巨乳 | 国产动漫操逼视频| 操东北女人| 久久香蕉综合一本到3atv| 国产成自自拍在线观看| 日韩强奸av| 久操大香蕉手机视频在线看| 精品人妻一区二区三区在线视频不卡| 爱我干综合| 日本幼女18+| 日本精品成人无码| 久久久亚洲| 骚货| 免费福利视频中文字幕| 欧美色图成人网一区二区| 亚洲 欧美 日韩 国产一区二区| 欧美亚州手机在线| 中文字幕在线观| 97精品一区| 日本操BAV| 91高清日| 大香蕉伊人色偷偷在线| 国产美女高潮| surenchaopeng| 中文字幕日韩专区精品系列| 在线观看亚洲成人精品| 97一区二区三区视频| 在线无码视频| 91性感在线| 亚洲国产中文字幕| 欧美自拍偷拍综合图片| 日韩视频小说在线观看 | 精品国产91av一区二区三区 | 国产欧美日韩一区二区三区| 国产精品久久久久9999小说| 亚洲综合网电影91| 性爱Av免费| 嫩草 我啊~嗯~在线| 亚洲天堂区| 影音先锋每日最新资源在线观看 | 一区二区亚州激情久婷婷欧美 | 91色伦| 久99热| 欧美狠狠干| 热久久国产精品视频大陆精品| 亚洲图片欧洲图片aⅴ| 一二三区精品视频| 天堂在线一区二区| 婷婷五月天av| 亚洲av国产av综合av卡| 欧美精品系列| 九X超碰| 中文字幕av亚洲在线| 久久久久白虎| 激情啪啪视频| 麻豆AV96熟妇人妻| 欧美性生活综合| 岛国免费视频在线| 亚洲av性爱电影| WWW美腿丝袜香蕉中文| 激情五月婷婷| 色色福利| 美女尤物人人操| 综合 亚洲 欧美| 欧美色日| 国产在线精品电影观看| 蜜臀久久99精品久久久久久久久| 操逼啊啊啊91| 天天视频黄| 狠狠入| 欧洲精品久久| 久草资源欧美在线视频| 欧美色图天堂在线| 久久久网站| 国产精品一区二区校花| 天天干夜夜一操| 午夜啪| 一区二区三区国产在线播放| 日韩在线观看AV| 久偷拍欧美日韩三区| 91在线视频免费中出| 九九九九九用不成了| 91国产精品在线看| 亚州操操穴网| Julia在线播放亚洲久久| 操逼啊啊啊91| 大香网站| 国产一级黄色片在线观看| 极品欧美一区二区三区| 中国AV美女| 老外又粗又长一晚做五次| 青青草依人大香蕉| 偷偷人人精品女女久久| 天堂精品| 热热色国产一二区AV| 久久久婷婷| 亚洲欧美另类少妇精品| 欧美成人精品一区二区三区| 999 久久久| 夜夜青青无码影院| 91欧美经典| 欧美丝袜91| 狠狠入| 男人的天堂99| 久夜视频| 大香蕉免费3| 欧美人与动性人交a| 强奸国产精品视频| 日本人人操人人操| www.婷婷五月天| 久久人妻丝袜一区二区三| 国产11页| 天天天乱色综合全| AV男人天堂网| 丰满人妻一区二区三区免费| 不卡在线观看视频| 国产操逼网站亚洲一级黄色| 精品国产一区二区三区在线播出| 日韩性爱1级片视频| 国产黄片在线免费观看| 久久久九九网站| 天天日天天爽| 欧美激情视频一区二区三区不卡| 欧美在线l亚洲| 东京热精品97综合网| 99精品久久久久久| 国产成人五月天丁香花| 中文字幕第9页萱萱影音先锋| 成人五级久久| 黄片www.| 成人日韩中文字幕| 亚洲日本大香蕉1| 成年无码动漫av片无尽在线 | 射欧美综合| 嗯嗯嗯啊啊啊干死我吧| 欧美999| 99国产精品视频尤物| 国产精品久久伊人| 亚洲AO在线| 综合网97| a级免费在线观看| 精品一区二区综合熟妇| 久久久工口| 91色色综合| 先锋女优在线观看视频| 国产精品一区av在线| www狠狠| 神马午夜久久久| 亚洲九九视频| 欧美日韩 强奸乱伦| 精品无码一区二区| 欧美色九九| 黑人操一区二区| 人人污日韩一区二区| 综合亚洲网| 久久久久久久久久久久久久久乱码| 亚洲网污污污污| 色欧美综合| 99热在线观看| 伊人aaa| 操b在线观看| 婷婷中文字幕| 日本加勒比无码专区| 久久精品国产99精品亚洲蜜...| 噜噜噜狠狠色综合| 亚洲极品| 亚洲日韩美女中文字幕乱| 激情自拍 校园春色| 国产suv精品一区| 国产日产精品久久快鸭的功能介绍| 神马久久久久久久久久| 秋霞视频一区二区| 精品综合久久久久久97| 2020中文在线一区二区三区| 香蕉一区二区三区在线视频| 亚洲 欧美 制服 另类 自拍| 97色97好| 国产综合网站在线播放| 人妻少妇无码| 超碰狠狠操| 久肏视频字幕| 99精品在线| 蜜桃臀av一区二区| 五月天啪啪| 日比av无码| 99自拍视频| 99re28在线观看| 国产超碰人人操| 我要色综合网站| 五月天激情四射| 日比av无码| 99精品在线| 亚欧美色| 婷婷情色五月天| 成人自拍三级在线观看| 日韩精品系列| 久久国产视频性吧| 韩国一级婬片A片无码天美| 欧美另类自拍 | 一本久道在线综合视频| 亚洲综合校园春色| 欧美黄色大香蕉一区二区| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 色情综合| 午夜性生活av免费在线看| 人妻精品综合中文字幕在线 | 加勒比综合| 中文字幕国产精品1区| 国产精品露脸在线观看| 曰韩香蕉97| 99日韩| 91久久青青草原精品| 亚洲不卡不卡中文字幕不卡| 性久久| 欧美日韩亚洲少妇寂寞影院正在播放| 日韩人妻资源网| 色在线综合| 超碰97人人乐| 日本五十路在线| 99久久99九九99九九九| 欧美偷拍区| 91日韩网站| 91 丝袜在线| 粉嫩av在线一区二区| 国产日韩久久| 玖玖草久草99蜜月一区二区三区| 丰满欧美少妇| 国产福利精品最新在线| 日本视频在线中文字幕| 成人情色综合网| 欧美亚洲性爱一区二区| 五月激情小说| 国产无马视频| 日韩三级在线观看网站| 综合亚洲欧美| 五月天人妻综合| 国产AV天美| 91欧美| 中文字幕一区二区韩| 激情小说亚洲色图| 日韩综合第八区国产精品| xxx亚洲午夜天堂| 99re国产中文字幕| 天天综合网日韩7799| 丰满人妻一区二区三区免费 | AA级电影三区| 啊啊啊好想要| 欧色网址| 日本熟妇人妻一区二区三区| 久男人久久| 天天日日日射| 日韩美一区| 丁香五月激情五月| 久久久久久人妻| 午夜国产成人福利视频| 曰韩av中文字幕专区| 免费观看国产不卡av| 26uuu最新| 五十路一区无码| 9美女超碰在线免费观看| 91 亚洲情侣偷拍 久久| 99啪啪| 97超碰热线| 久久久精久久久| 蜜桃成人1区2区3区| 日韩女模中文造逼| 精品亚洲国产成人AV制服丝袜 | 搡老女人老91妇女熟女| 日韩大香蕉精品在线视频| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 校园春色欧美色图| 九九拍拍精品视频在线播放| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 国产成人免费观看在线视频| 亚洲最新a在线观看| 三级AV入口| 天天色天天干天天爱| 国产三级在线现体验区| 国内精品久久人妻性色av| 久96热在线观看视频| 女人精品内射国产99| 亚洲网站一区二区在线| 亚洲精品国产日韩无码AV永久免| 中国国产精品一区视频| 九九性爱网| www.99热| 大香蕉伊人网WWWn0n| 打av高清| 久久久久婷婷精品av电影| 日日玩天天干| 粉嫩av平台| 欧美一级久久久久久久大片动画| 黄色免费网页无码| 国产女上位好爽在线| 久久偷拍人| 老女人91| 日韩欧美亚欧在线视频| 91在线视频免费播放| 亚洲天堂人妻熟妇视频| 精品区9| 日产中文字幕2020| 九九九九一区| 日韩激情电影中文字幕| 国产剧情AV不卡在线观看| 99啪啪| 丝袜内射| 天天影视综合色| 中文字幕av亚洲精品| 久久色一区| 成人精品一区二区三区| 91美女视频在线观看| 国产传媒午夜理伦精品| 91九九| 蜜臀99999| 三及片网站| 国产探花日韩援交| 九月色婷婷| 中文字幕97色| 久久97超碰| 亚洲精品a人片在线观看视| 天天看综合网| K8久久久久| 日本人妻中文字幕精品| 26uuu欧美| 亚洲欧美日韩国产丝袜自拍中文| 色五月AV| 丁香五月综合| 女人18精品一区二区三区| 欧美操人视频| 蜜臀少妇一区二区| 国产夫妻性生活视频| Sekablack无码一区| 国产欧美一区激情交| 最新精品久久蜜桃 | 欧美亚洲中文| 亚洲精品视频在线播放| 九九热精彩视频| 日韩综合无码一区久久92| 国产亚洲在线| 精品国产乱码久久久影院| 变态乱伦伪娘灌肠一区二区| 亚洲视频,小说| 国产久久久久久| 日日夜夜狠狠| 超碰在线91| 日本肏逼视频在线观看| 加勒比性爱成人在线| 亚洲国产成人福利在线观看| 2000亚洲男人天堂| 又粗又长又爽在线观看| 精品人妻一区二区三区夜夜| 国产精品熟女九色九色蜜臀| 欧美白嫩女HD| 青青久久手机线视频| 欧洲乱码视频| 国产成人综合在线播放| 亚洲欧美日韩国产丝袜自拍中文| 国产日逼视频| 欧美极品色| 久草免费在线一区二区| 伊人久久亚洲色欲综合网站 | 99热国产精品| 国产成人网| 亚洲少妇视频| 国产精品情侣啪啪| 欧美综合国产精品久久丁香| 一区,二区,三区视频| 欧美性爱无码一区二区三区| 风月影院男女十八禁| 日韩欧美一级特黄大片| 四虎精品亚洲| 欧美九九爱| 乱伦熟女专区| 加勒比伊人综合| 性爱乱伦一区| 97在线免费| 加勒比AV网| 加勒比久久综合网高清| 97se亚洲| 熟妇人妻一区二区三区| 脫衣舞一区二区三区| 国产熟码AV| 五月丁香啪啪啪| 天天看天天日天天操| 伊人久久久日韩一区| 夜色AV无码手机在线影院| 黑白配性爱AV成| 欧亚综合一卡二卡中文字幕| 在线岛| 亚州色图欧美色图| 青青草精品| 亚洲精品日韩国产欧美| 五月亭亭六月丁香| 亚洲麻豆18发?| 亚洲宅男天堂| 国产 无码 一区二区| 亚洲丝袜综合| 男人把坤坤插入女人的下体| 男人的天堂亚洲| 欧美偷拍区| 欧成人精品一区二区三区| 5252色欧美在线| 亚洲国产成人高清在线| 亚洲男人久久综合天堂| 欧美熟妇色| 色综合99999| 97中文天堂| 人人操人人大香蕉| 国产精品爽爽v| 91爱网| 欧美综合777| 97综合日韩| 99热婷婷| 午夜精品视频777| 国产精品4p在线观看| 日韩天天综合| 丰满人妻一区| 国产精品视频播放| 亚洲中文字幕乱码无码一区二区 | 天天拍天| 久久久久久久久久精| 亚洲图片欧美91N| av国产无码| 超97在线精品视频| 久久无码一区二区二三区性色| 人爽不卡视频| 久久久久女教师免费一区| 2017天天操天天日| 亞洲久久直播| 一区| 俄罗斯一区二区视频在线观看| 黑人精品欧美一区二区蜜桃| 成年人黄色| 四季av一区二区凹凸精品小说| 精品视频97| www.操| 麻豆天美国美国产| 蜜臀av在线播放一区二区三区| 日韩在线观看中文字幕视频| 人人插人人摸人人| 26uuu国产成人综合| 国产日韩色综合| 韩三级a视频在线观看| 99久久无码| 四虎精品永久在线播放| 日韩欧美亚洲自拍偷拍| 综合久久97| 亚洲学生妹高清av| 欧美v日韩v亚洲v最新在线| 亚洲天堂2020| 亚洲色婷婷久久91| 永久免费av无码网站国产app| 日本操逼aaaaa| 日本人妻中文字幕 | 亚洲色图亚洲无码强奸乱伦| 亚洲强奸乱伦影视网| 91精品无码人妻系列| 国产精品自在线发布| 成人日本视频人妻在线| 激情专区综合| 色97| 亚洲国产精品久久久男人的天堂| 亚洲一二三| 热久久无毒不卡| 亚洲男人在线观看天堂 | 小草三级久久观看| 91在线色| 啊啊啊轻点在线观看| 欧美狠狠狠| 国产精品电影大全| 亚洲激情在线观看一区| 成人性爱高清视频免费看| 乱老女人一区二区视频| 久久本道| 亚洲偷91色| 成人性交免费视频| 成人免费看吃奶视频网站| 午夜爽爽爽在线观看永久入口姬片| 国产成人www免费人成看片| 六六久久日韩不卡| 色综合久久夜色精品国产天堂| 啊啊啊啊啊舒服| 国产精品国产精品国产| 日操粉逼逼| 殴美牲| 99国产精品自在自在| 一本久道久久综合狠狠爱一密臀精| 亚洲国产一级黄色视频| 国产精品视频白浆免费| 午夜天堂精品久久| 成人青青草原伊人| 三级色综合| 六月婷激情福利天堂69| 9999久久久久| 女人与公拘交酡2020视频| 人妻熟女av国产网站| 大香蕉十区| 欧美色九九| 丰满人妻无码一区二区三区| 97超碰色五月| 大香蕉99re| 综合 欧美 亚洲 日本| 又大又黄国产| 久久久久久久91| 国产无马视频| 欧美色图 人妻| 一级做受视频免费是看美女| 色婷婷电影网| 色香网| 国产一区二区三区导航| 青青草五月天| 性爱综合一区二区| 四虎影视在线| 亚洲国产97| 久久久网站| 欧美人妻一区二区| 温婉少妇玩3p| 97av,com| 少妇高潮特黄A片| 国产人妻一区二区三区欧美毛片| 一区二区乱码福利| 精品国产少妇高潮视频| 老司机香蕉| 婷婷五月av| 亚洲第一页综合在线| 天天视频黄网站| 日韩欧美中文字| 日韩中文字幕精品一区在线| 国产肏屁眼视频| 综合av社区| 青娱乐大香蕉| 欧美日韩免费性爱| 97精品97| 日韩性爱再线视频| 少妇激情AV| 久操不卡视频| 中文字幕乱妇免费视频| 中文字幕日韩综合| 诱惑网综合| 操我啊啊啊啊啊| 熟女激情综合网| 中文字幕乱碼在线| 日本 色 导航| 91精品操美女| 99色在线| 亚洲一区日韩精品中文字幕| 东北老女人的激情视频| 欧美日韩日产免费网站看| 97一区二区三区视频| 国产精品视频麻豆入口| 久久久精品九| 水澄无码AV| 在线αⅴ| 久男人久久| 日韩高潮一区| 亚洲av国产av综合av卡| 久久综合久色欧美综合狠狠| 91粉嫩萝控精品福利网站_精品影音先锋国 | 欧美亚洲玖玖玖| 夜夜草天天| 五毛骚逼极品美女怕怕| www.婷婷六月天| 国产精品久久久吖| 劲爆欧美人妖三区91| 久久激情五月| 久久精品福利影院| 97伊人超碰| 有码免费观看| www欧美性爱| 国产精品久久久啊| 蜜臀aV午夜一区二区三区| www.久久| 国产AV毛片| 青娱乐啪啪视频| 无码久| 夜夜嗨AV一区天天| 九九久久一区二区伦理| 91色宗合| 国产高清在线自在拍69| 夫妻四区五区六区| 色综合久| 日韩综合成人免费视频| 九九九一二三| 加勒比综合a∨| 国产视频三区四区| 亚洲超碰在线| 天天看天天在线精品| 美女网站91| 亚洲精品国产熟女久久久| 污到发麻的视频 国产| JIZZJIZZ国产精品喷水| 色屁屁影院www国产| 91丰满| 人妻激情在线视频| 亚洲色欲一区二区三区| 色情综合网| 国产亚洲精品美女久久久m| 韩国免费播放一级毛片| 美女啊啊啊啊啊| 欧美色图在线视频少妇| 97在线欧洲| 久操B网| 九九热在线视频| ?亚洲伊人伊成久久人综合网| 爱妃国产亚洲视频中文字幕| 少妇蹲下露出大唇5| 国产超碰97| 一区二区亚州激情久婷婷欧美| 玖玖综合色| 在线啊啊啊啊| 伊人97超碰| 久久超碰爱| 99热这里是精品| 国产成人无码久久精品| 日韩性爱再线视频| 夜色AV无码手机在线影院| 久久久亚洲Av| 天堂а√在线最新版在线 | 日韩丝袜人妻AV| 亚欧精品久久久久久久久久久| 色五月婷婷中文字幕| 亚洲码专区| 久久艹逼视频| 六月激情婷婷| 九九九九九九九精品视频| 一区在线观看中文字幕| 丁香五月自拍| 99精品热| 亚州伊人色综台| 天天欧美色| 久久e6只有精品| 久久最新视频免费观看| 久插综合| 天天躁狠狠躁av| nuu12国产麻豆精品| 日本五区不卡| 天天干人人乐| 欧美一区二区三区不卡高清视频| 男女一进一出视频久久| 日韩强奸av| 午夜操逼不卡| 亚欧国产无码精品在线| 日本人妻A片成人免费看片| 激情五月天丁香| 久久久精品国产亚洲伊人| 嗯嗯嗯嗯啊啊啊好紧好大| 嗯嗯嗯啊啊啊操的我好爽| 欧美韩国你懂得在线 | 蜜乳中文字幕a在线| 第四色奇米影视777| 亚洲毛片一级带毛片基地| 黄色av一区二区在线| 大奶啊啊好爽| 密臀AV在线| 四虎884| www.av家庭乱伦| 国产成人精品无码久久| a网站免费观看| 9热9热综合网| 性欧美| 国产成人91一区二区三区| 亚洲国产奇米影视久久| 国产99 中文字幕日韩小视频| 色妹子A V| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 在线无码网站| 操碰97| 久久久专区| 亚洲男人天堂AV| 人人看欧美性爱| 人妻天堂综合网| 福利在线视频一区二区| 嗯嗯啊好爽| 国产日韩欧美亚洲精品95 | 欧美视频一| 日本精品成人无码| 国产精品久久久777| 欧美色91| 亚洲AV性爱电影| 久都青青视频| 欧美 日韩第一性色| 自拍偷拍草一草| 91啪啪| 老司机午夜福利视频一区二区| 人妻天堂网| 国产精品自在自拍视频| 国产精品经典一卡久久久 | 狠狠干综合| 狠狠做深爱婷婷久久二区| 大学生美女口爆| 综合一区中亚洲国产成人综合精品| 啊啊啊在线观看免费视频| 婷婷国产精品一区二区| 午夜精品五区| 欧美A√综合网| 操一操摸一摸| 日本狠狠干| 欧美96交| aaaa黄片| 超碰碰小说97| 黄片免费看的| 人妻爽爽啪视频| 欧美影院一区二区三区| 久久一二三四五六七八九区区区 | 亚洲精品一二区| 夜夜嗨AV蜜臀av| 亚洲国产综合图区中文字幕| 人妻熟女av国产网站| 天天草AV| 视频国产精品未满十八禁止在线观看| 校园春色亚洲欧洲| 天天日天天操天天射河南省| 啊啊啊啊嗯嗯嗯用力好爽 | 91w欧美| 吻戏激情性巴克| 亚洲男人的天堂va亚洲男人社| 极品色www影院| 色婷婷一区二区三区久久午夜 | 久久精品视| 国产精品无码av在线| 欲射影视| 久久久久国产精品喷潮免费观看臀 | 熟女熟妇一区二区三四区| 久精品无码av一区二免费国产在线观看 | 啊啊啊啊二区好大| 香蕉黄色一级视频| 热久久99999| 无码国产Av| 五毛骚逼极品美女怕怕| 国产精品自在线发布| 人妻素股| 激情五月天色色网| 人人妻人人爽一区二区三区| 99这里只有精品| 久久久一区二区三区四区五区| 欧美性天天影视| 国产拍偷精品网站| 玖玖资源中文字幕制服丝袜| 亚洲αv一区二区三区| av草草在线电影| 99久久婷婷国产综合| 日本媚薬中文字幕在线| 97干com| 国产乱色国产精品免费视| 在线亚洲丝袜视频网站| 操婷婷逼| 亚洲综合欧美| 日韩美女,国产传媒,视频一区| 全免费a敌肛交毛片免费| 四虎精品亚洲| 天堂九九九九九九九九九| 欧美熟妇成人一区二区| 日韩人人精品| 日本特黄f c2| 无码人妻精品一区二区中文| 日韩色图 一区二区| 欧美激情综合| 一个国产在线综合网站| 久久久久96| 久久精品亚洲婷婷| 99久久婷婷丁香| 一级AAA片一区二区三区| 伊人影院在线理论播放| 岛国视频免费在线观看| 欧美日韩亚洲天堂| 国产精品视频播放| 91丨九色丨43老版熟女| Sekablack无码一区| 啊啊啊啊啊舒服| 高清不卡视频| 五月天玖玖资源站| 99热在线观看| 欧美色图97| n1038 一二三区| 熟女六十路| a男人的天堂久久一级A毛片| 色九色久| 婷婷美人网| 混色激情av| 天天躁日日躁XXXXYY| 免费观看网黄| 青青青在线高清视频在线一二三四区 | 污污污8888| 蜜臀久久一区二区| 福利在线黄片| 18禁免费视频| 大二网站亚洲| 欧美亚洲丝袜人妻制服中文99| 欧美 日韩 婷婷 五月| 亚州色交| 成人午夜无码视频| av在线免费一区二区| 亚洲码在线中文在线观看| 欧洲亚洲人妻无码久久三区四区| 97频视在线| 久久111| 日本不卡码黄色| 久久黄黄| 日本天天操| 黄色av一区二区在线| 美国一区二区三区视频| 日韩免费福利在线观看| 97免费在线视频| 97伊人网| 九热中文字幕| 高清视频一区| 91精品国产91熟女| 欧美日韩亚洲少妇寂寞影院正在播放| 97超碰超欧美。| 亚洲精品蜜桃久久久久久久| 天天看特黄的免费网站| 91暧暧| 亚洲av总站| 宗合情欲网| 亚洲av总站| 亚洲色图加勒比| av大香蕉网站| 亚洲精品欧美专业| 91+欧美| 97久久免费| 手机久操欧美综合色码| 精品国产国产AV| 久久久久网站-538在线视频-欧美永久乱码 | 91亚洲最新在线| 欧美草草高清日韩视频| 青青草一区二区高清无码视频 | 欧美久热| 欧美躁死她一区二区| 猛交交| 啪啪视频mP4| 超碰性爱97| 亚洲中文电影| 久久久国产精品亚洲精品| 激情人妻另类| 亚洲 欧美 日韩另类 麻豆| 性生活性生大爱77AV国产| 蜜臀99久久国产| 综合久久97| 超清福利精品视频在线| 国产精品黄色三级av| a v网站在线播放| 亚洲国产日韩欧美熟妇在线| 日本高清久久| 18一区二区三区| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 日本性一区| 久久久免费高清中文视频| 人妻丝袜日本| 亚洲日韩精品久久久久一区壹牛 | 级品肉射| 五月天人妻综合| 国产深喉视频一区二区| 久久久精品中文字幕爱豆| 日本三级网页| 久久久无码国精品无码三区三区| 日本青青草在线| 搡老女人老91妇女熟女| 外国免费性情大片| 国产三级在线现体验区| 久久精品国产72国产精品福利| 大胆91| 中文字幕在线2| 四方色播| 91社区拍啪人妻| 色噜噜综合在线| 亚洲91网站| 搡老女人老熟女91老熟女综合网| 一级婬片120分钟试看| 婷婷中文网| 9/A片| 人妻天天爽夜夜爽2| 久久久久国产精品久久久| 无码av永久免费专区网站| 黑丝少妇| 劲爆欧美人妖三区91| V A在线| 国产超碰人人爽人人做| 亚洲不卡av在线| 日本免费二区三区| 狠狠操官网| 亚洲麻豆精品二区三区| 国产精品在线一区二区| 免费AV中文网在线观看| 日韩人妻一区二区精品| 西西美女视频网| 97亚洲中文| 人人摸人人叼| 妇女视频网站| 免费操逼91| 天天躁日日躁AAAXX| 精品美女少妇一区二区三区| 97在线视频免费观看| 亚洲最大的综合性av| 麻豆AV96熟妇人妻| 欧美日韩中文视频播放| 国产小u女在线观看| 九九自拍伦理| 高清国产无码av| 欧美九九爱| 成人小电影网站tex| 人妻激情偷乱视三区频一区二区| 精品一久久久| 欧美一级黄色免费专区| 欧美制服另类丝袜| 欧美狠狠狠| 国产成人在线观看综合| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 99亚洲人人| 日产欧美电影一区二区三区| 亚洲18禁| 在线观看中文字幕| 亚洲色图激情小说| 亚洲狠| 成人欧美一区二区三区黑人一| 懂色av中文字幕| 偷看洗澡一二三区美女| 99热99re6国产在线播放| 蜜桃视频成a人v在线| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 欧美在线播放aaaa| 玖日综合网| 婷婷色播婷婷| 懂色AV网| 最新欧洲欧美日本激情网站| 亚洲欧美清纯| 大香蕉色十月| 午夜小电影在线插入淫高潮| 欧美另类色| 一中国女人毛片水真多| 欧美日韩理论一区| 岛国片在线视频网站| 一区二区视频你懂的| 人人摸人人添人人操| 校园春色家庭伦理欧美激情| 尤物一级在线免费观看| 一本色道久久综合狠狠操| 亚洲一区中文字幕一区| 欧洲人妻视频| 天天干天天日天天射黄色| 国产在线视频午夜精华在| 欧美精品双插| 久久久国产亚洲精品系列| 91精品少妇搡搡搡| 亚洲色综合| 久久久96| 无码久| 亚洲九区| 国产精品内射婷婷一级二| 欧美日本天堂| 秋霞欧美性爰视频| 中文乱码字幕观看| 五月婷婷hd| 国产 亚洲 丝袜 制服| 日韩91网| 99re9这里只有精品| 黑丝自慰喷水网站| 97chaopengongkai| 久久鲁夜| 丁香五月婷婷基地| 中英熟女操女| 亚州色图片在线色| 五月天偷拍| 一级片在线观看高清无码| 天天性射网| 91色综合激情| 2020国产精品| 亚洲AV无码乱码| 97中文综合| 日韩99神马视频片| 久热无码| 国模艳艳啪啪一区| 一区二区三| 亚洲日韩欧美一区二区| 国产九月婷婷| 搡老女人老妇女AAA一VU麻豆| 亚洲欧美洲综合| 欧美亚洲成人在线一区二区三区| 狠狠综合网| 久久久国产亚洲精品系列| 亚洲色狠| 97在线观看免费| 亚洲第一色页夜| 国产原创自拍| 亚洲超碰AV| 俄罗斯一区二区视频在线观看| 黑人性欧美| 91麻豆一二三区| 精品免费1| AV电影在线播放| 中文字幕一区二区在线日韩精品| 91 丝袜在线播放| 97欧美色综合| 999综合色| 国产有码一区| 欧美九9 9 9| 国产小u女在线观看| 小视频国产| 懂色av一区二区三区天美传媒| 色777999综合| 不卡一区视频| 好吊色一区| 偷拍欧美激情| 国产伦精品一区二区三区视频女| www成人啪啪18秘 免费| 日本性爰一道本| 色视频蜜乳| 久久久久久久人妻丝袜| 精品人妻一区二区三区四区| 中文日韩欧美熟| 亚洲欧美日产国产91毛片| 激情在线青青操| 伊人96在线| 天天色怡春院| 91久久堂| 午夜啊啊啊| 99国产在线绯色一区| 爱爱动态120秒| 亚洲欧美精品91| 开心五月婷婷激情| 伊人久久大香大香线蕉中文 | 久操在97| 操死我了嗯嗯嗯| 久久色一区二区| 1区2区3区中文字幕日韩| 殴美日韩m| 欧色综合| 婷婷丁香一区二区三区| 九九九九九九成人| 青青草五月天| 人妻人妻天天碰| 天天干1区2区在线| 本道在线| 老鸭窝成人| 超碰色图| 黑人娇小av在线播放| 亚洲色欧美| 五月天婷婷在线看| 日韩欧美午夜一区二区| 日本成人A片网站| 日韩无码a片| 天天干天天狼在线视频| 色墦五月丁香| 精品久久久久,69国产成人精| 大香蕉伊人亚洲|