發(fā)者超級(jí)能力:用Codex與Java打造高效工作流)
開(kāi)篇聊聊“超級(jí)能力”這件事如果你搜過(guò)“superpowers”大概率會(huì)看到一堆跟超級(jí)英雄、漫畫(huà)相關(guān)的詞條。但在開(kāi)發(fā)者和效率愛(ài)好者圈子里這個(gè)詞最近有了完全不同的含義——它指的是一套能成倍放大你個(gè)人生產(chǎn)力的工具鏈、工作流和思維方法。尤其是當(dāng)你把它和 AI 編程助手比如 Codex、Java 后端開(kāi)發(fā)、自動(dòng)化腳本組合在一起時(shí)確實(shí)有點(diǎn)“普通人獲得超能力”的意思。這篇文章我打算換個(gè)角度不談那些虛的“賦能”“心智模型”就聊聊我實(shí)際搭過(guò)、用過(guò)、踩過(guò)坑之后沉淀下來(lái)的東西什么是開(kāi)發(fā)者真正需要的 superpowers怎么把這些能力“安裝”到自己的工作流里以及在使用過(guò)程中那些文檔里不會(huì)寫(xiě)的細(xì)節(jié)??赐曛竽憧梢灾苯诱罩悸反钜惶讓儆谀阕约旱摹澳芰ν鈷臁辈恍枰仁裁雌鯔C(jī)今天就能開(kāi)工。1. 內(nèi)容整體設(shè)計(jì)與思路拆解1.1 核心需求解析為什么你需要一套工作流外掛在聊具體方案之前得先說(shuō)清楚一個(gè)痛點(diǎn)大多數(shù)開(kāi)發(fā)者的日常時(shí)間真正用在“寫(xiě)代碼”上的比例并不高。我在本地做過(guò)粗略統(tǒng)計(jì)一天八小時(shí)的工作里真正在寫(xiě)業(yè)務(wù)邏輯的時(shí)間可能不到三小時(shí)剩下的時(shí)間大部分花在查文檔、修 bug、切換上下文、等編譯、找配置文件這類(lèi)雜事上。這不是效率低而是現(xiàn)代軟件開(kāi)發(fā)的客觀現(xiàn)狀——上下文切換本身就是巨大的認(rèn)知負(fù)擔(dān)。所謂 superpowers核心目標(biāo)只有一個(gè)把那些不產(chǎn)生直接價(jià)值的重復(fù)勞動(dòng)壓縮到最少把你有限的注意力全部留給真正需要智力的部分。它不是一個(gè)單一工具而是一套組合拳。包括但不限于終端環(huán)境的快速響應(yīng)能力、腳本自動(dòng)化能力、AI 輔助編碼能力、命令查詢(xún)與代碼生成能力。我見(jiàn)過(guò)很多人把“用了個(gè) AI 插件”就等同于“擁有了 superpowers”這其實(shí)是個(gè)誤區(qū)。AI 只是其中一塊拼圖。真正的超級(jí)能力來(lái)自系統(tǒng)性的組合當(dāng)你敲一個(gè)命令能同時(shí)完成代碼生成、測(cè)試運(yùn)行、文檔拉取、 git 提交七步變一步的時(shí)候那種流暢感才是“超能力”的實(shí)感。1.2 為什么選擇組合式方案而非單一工具市面上確實(shí)有一些“全家桶”式的工具號(hào)稱(chēng)裝一個(gè)就什么都能干。但我在實(shí)際使用中的體會(huì)是這類(lèi)工具往往適合特定場(chǎng)景一旦換了技術(shù)?;蛘吖ぷ鳝h(huán)境反而會(huì)成為累贅。我更傾向于組合式、可替換、可定制的方案每個(gè)組件職責(zé)單一壞了一個(gè)不影響其他部分。按項(xiàng)目需要自由組合Java 項(xiàng)目一套、前端項(xiàng)目一套。便于版本管理和遷移換臺(tái)新電腦十分鐘就能恢復(fù)戰(zhàn)斗力。這就好比超級(jí)英雄的能力也不是天生全套的都是后天一點(diǎn)點(diǎn)拼出來(lái)的。你不需要一步到位先裝上最順手的幾件“裝備”跑起來(lái)之后再加新的。2. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)2.1 “安裝”你的基礎(chǔ)能力環(huán)境配置的學(xué)問(wèn)很多新手上來(lái)就急著裝一堆“高級(jí)工具”結(jié)果被環(huán)境問(wèn)題折磨得欲仙欲死。我個(gè)人的建議是先把基礎(chǔ)能力“安裝”到位這一步才是真正的分水嶺。所謂的“安裝”不是指去官網(wǎng)下載個(gè)安裝包點(diǎn)下一步而是指對(duì)你的開(kāi)發(fā)環(huán)境做一次系統(tǒng)性的配置和優(yōu)化。拿終端來(lái)說(shuō)吧我發(fā)現(xiàn)很多人的 shell 還是默認(rèn)狀態(tài)提示符一長(zhǎng)串、沒(méi)有語(yǔ)法高亮、沒(méi)有自動(dòng)補(bǔ)全、沒(méi)有歷史記錄搜索。這種環(huán)境寫(xiě)代碼就像戴著手套繡花怎么可能有“superpowers”的手感以我常用的終端環(huán)境為例我會(huì)配置以下幾個(gè)關(guān)鍵點(diǎn)提示符精簡(jiǎn)到只顯示當(dāng)前目錄和 git 分支狀態(tài)。啟用命令行模糊搜索歷史記錄幾條核心命令綁上快捷鍵。設(shè)置別名把常用的長(zhǎng)命令壓縮成短命令。為不同項(xiàng)目配置獨(dú)立的命令行環(huán)境變量和別名集。這些看似瑣碎的配置實(shí)際用起來(lái)的效果立竿見(jiàn)影。我試過(guò)幫一位同事把環(huán)境調(diào)了一遍之后他第一反應(yīng)是“以前怎么沒(méi)發(fā)現(xiàn)能這么順手”。這就是環(huán)境優(yōu)化的價(jià)值——你不需要變聰明只需要讓工具變得更順滑。2.2 核心“能力”拆解從輸入到輸出的加速鏈路我理解的 superpowers本質(zhì)上是一套**“從意圖到產(chǎn)出”的加速鏈路**。它分為四個(gè)環(huán)節(jié)第一環(huán)是輸入加速。不管是命令、代碼還是文檔里的信息都要能以最快的方式進(jìn)入你的工作流。善用 Alias 別名、命令補(bǔ)全、片段注入都是為了壓縮這一步的時(shí)間。第二環(huán)是決策加速。當(dāng)你面對(duì)一個(gè)問(wèn)題需要快速判斷它的性質(zhì)、找到對(duì)應(yīng)的解法。這時(shí)候本地維護(hù)一個(gè)“踩坑筆記”或“代碼片段庫(kù)”就非常關(guān)鍵了。我習(xí)慣把所有排查過(guò)的怪問(wèn)題整理成帶索引的文檔遇到問(wèn)題先搜本地庫(kù)實(shí)在沒(méi)有再去網(wǎng)上搜。這比每次都重新趟一遍雷要高效得多。第三環(huán)是生成加速。這個(gè)環(huán)節(jié)最容易被 AI 工具接管。從模板生成代碼、從注釋生成測(cè)試、從報(bào)錯(cuò)信息生成修復(fù)方案屬于典型的高性?xún)r(jià)比操作。但這里有個(gè)關(guān)鍵你要能快速驗(yàn)證 AI 生成的內(nèi)容對(duì)不對(duì)。因此本地跑測(cè)試的命令要足夠快快速試錯(cuò)本身就是一種超能力。第四環(huán)是沉淀加速。每次解決完問(wèn)題把經(jīng)驗(yàn)寫(xiě)回自己的知識(shí)庫(kù)。不追求完美排版甚至可以一句話帶過(guò)。但有了這個(gè)“外置記憶”積累一年之后你會(huì)發(fā)現(xiàn)自己解決問(wèn)題的能力明顯上了一個(gè)臺(tái)階。2.3 避坑指南別在能力還沒(méi)成型時(shí)就追求“全副武裝”我見(jiàn)過(guò)太多人一開(kāi)始就試圖搭一套極其復(fù)雜的工作流裝了各種插件、寫(xiě)了各種自動(dòng)化腳本結(jié)果真正使用的時(shí)間還沒(méi)配置的時(shí)間多最后全部荒廢。這就是“過(guò)度工程化”的典型陷阱。我的建議是從最小的閉環(huán)開(kāi)始。先挑一個(gè)你每天都會(huì)做、且耗時(shí)最長(zhǎng)的動(dòng)作比如啟動(dòng)開(kāi)發(fā)環(huán)境的流程把它優(yōu)化到一步完成。等熟悉了這套思路之后再逐漸擴(kuò)展。超級(jí)能力的養(yǎng)成不是靠一次大改造而是靠一次次微優(yōu)化累積出來(lái)的。3. 實(shí)操過(guò)程與核心環(huán)節(jié)實(shí)現(xiàn)3.1 如何搭建一個(gè)可復(fù)用的開(kāi)發(fā)環(huán)境“內(nèi)核”我以 Java 開(kāi)發(fā)環(huán)境為例演示一下如何搭一個(gè)可復(fù)用的環(huán)境“內(nèi)核”。這不僅適用于 Java你換成 Node.js、Python 或者其他任何技術(shù)棧思路都是通用的。首先明確“內(nèi)核”包含哪些內(nèi)容終端環(huán)境。涵蓋 shell 配置、別名、函數(shù)、快捷鍵。構(gòu)建工具配置。涵蓋依賴(lài)管理、編譯參數(shù)、測(cè)試命令。代碼風(fēng)格與靜態(tài)檢查。涵蓋格式化規(guī)則、lint 配置。項(xiàng)目腳手架。涵蓋標(biāo)準(zhǔn)目錄結(jié)構(gòu)、基礎(chǔ)文件模板。本地知識(shí)庫(kù)索引。涵蓋踩坑記錄、常用代碼片段。我建議把這套“內(nèi)核”單獨(dú)放到一個(gè) git 倉(cāng)庫(kù)里進(jìn)行管理。好處是顯而易見(jiàn)的換電腦時(shí)拉一下代碼就能恢復(fù)大半的戰(zhàn)斗力團(tuán)隊(duì)里其他人想?yún)⒖紩r(shí)也可以直接從倉(cāng)庫(kù)里拿。拿 Java 項(xiàng)目的構(gòu)建工具來(lái)說(shuō)我以前用 Maven 時(shí)每個(gè)項(xiàng)目都要寫(xiě)一大堆 XML 配置后來(lái)切到 Gradle 之后發(fā)現(xiàn) Groovy/Kotlin DSL 寫(xiě)起來(lái)清爽多了配置即代碼的理念也便于自己在構(gòu)建流程里注入自定義任務(wù)。當(dāng)然這不是說(shuō) Maven 不好而是你要意識(shí)到工具體驗(yàn)對(duì)日常開(kāi)發(fā)手感的影響遠(yuǎn)超你的想象。選個(gè)順手的東西本身就是一種能力加持。3.2 核心工具鏈詳解從零到一的手把手配置既然熱詞里反復(fù)提到 “superpowers java” 和“codex superpowers”我猜很多人可能是想搞清楚怎么把 AI 能力嵌入到自己的開(kāi)發(fā)過(guò)程中。那我就以 Java 開(kāi)發(fā)場(chǎng)景為例把一套能直接用的配置方案寫(xiě)出來(lái)。注意下面所有配置都是基于常見(jiàn)開(kāi)源工具和個(gè)人實(shí)踐你可以按需調(diào)整。第一步終端環(huán)境的配置我用的是 zsh 插件管理的方式核心訴求是高亮、補(bǔ)全、提示符信息可定制。配置大概長(zhǎng)這樣# ~/.zshrc 關(guān)鍵配置節(jié)選 # 啟用自動(dòng)補(bǔ)全與高亮 autoload -Uz compinit compinit source /path/to/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh # 精簡(jiǎn)提示符顯示當(dāng)前目錄和 git 分支 setopt PROMPT_SUBST PROMPT%F{cyan}%2~%f %F{green}$(git_branch)%f # 常用別名 alias gsgit status alias gcgit commit -m alias gpgit push alias jvjava -version alias mvncmvn clean install -DskipTests這套配置的核心邏輯很簡(jiǎn)單讓眼睛少看無(wú)關(guān)信息讓手少敲重復(fù)內(nèi)容。其中最大的收益來(lái)自 prompt 里的 git 分支提示——你不需要每次敲git status去確認(rèn)自己在哪個(gè)分支上。第二步Java 構(gòu)建流程的加速Java 項(xiàng)目經(jīng)常遇到的一個(gè)問(wèn)題是構(gòu)建時(shí)間太長(zhǎng)。我實(shí)測(cè)過(guò)一個(gè)中型項(xiàng)目冷啟動(dòng)編譯要兩分鐘熱部署要三十秒。這種節(jié)奏非常摧毀創(chuàng)作流。我后來(lái)做了幾件事在 Gradle 里開(kāi)啟構(gòu)建緩存和并行編譯。把開(kāi)發(fā)和生產(chǎn)的依賴(lài)分離開(kāi)發(fā)運(yùn)行時(shí)只加載必要的模塊。配置 IDE 的自動(dòng)編譯和熱部署插件代碼保存后自動(dòng)生效。效果非常明顯日常改代碼到看見(jiàn)結(jié)果的周期從三十秒壓到了三秒左右。很多人問(wèn)“為什么我寫(xiě)代碼總是一卡一卡的”問(wèn)題往往就出在反饋循環(huán)太長(zhǎng)上??s短反饋循環(huán)是開(kāi)發(fā)效率提升最直接的手段。第三步AI 輔助編碼的接入這里涉及到熱詞里的 “codex superpowers”。Codex 這類(lèi) AI 編碼工具我理解它的核心價(jià)值在于在你描述意圖之后它能生成初步可運(yùn)行的代碼或識(shí)別出代碼中的潛在問(wèn)題。但注意它只是一個(gè)“高水平的實(shí)習(xí)生”你仍然需要具備審查和修改它的能力。以 Codex 輔助 Java 開(kāi)發(fā)為例我常用的幾種方式生成模板代碼比如寫(xiě)一個(gè) REST 接口的 Controller 層描述一下路徑、方法、參數(shù)類(lèi)型AI 直接生成主干我再補(bǔ)業(yè)務(wù)細(xì)節(jié)。解釋陌生代碼把一段不熟悉的開(kāi)源代碼丟給它讓它按行解釋比翻文檔快得多。寫(xiě)單元測(cè)試讓它根據(jù)已有的方法簽名生成測(cè)試用例骨架省去大量機(jī)械重復(fù)工作。報(bào)錯(cuò)信息分析把編譯異?;蜻\(yùn)行時(shí)異常的關(guān)鍵日志貼進(jìn)去讓它給出修復(fù)建議。但這里有個(gè)非常重要的實(shí)操心得不要把 AI 生成的代碼直接合入主干。我見(jiàn)過(guò)有人圖省事讓 AI 修了個(gè) bug 之后沒(méi)看就直接提交結(jié)果引入了新的問(wèn)題。AI 生成的代碼一定要過(guò)了編譯、跑了測(cè)試、review 過(guò)邏輯之后再合入這條底線不能破。第四步本地知識(shí)庫(kù)的搭建這個(gè)環(huán)節(jié)今晚被大多數(shù)人忽略但在我看來(lái)它才是 superpowers 真正沉淀的地方。我用的是一個(gè)極簡(jiǎn)的方案一個(gè)本地 Markdown 文件夾 全文檢索工具。每次解決完一個(gè)問(wèn)題就在對(duì)應(yīng)技術(shù)棧的文檔下補(bǔ)幾行筆記半年后這就是你專(zhuān)屬的“外置大腦”。舉個(gè)例子有一次我排查一個(gè) Java 內(nèi)存泄漏問(wèn)題折騰了一整天。事后我把排查思路、用到的命令、定位到的 root cause 都寫(xiě)在了筆記里。三個(gè)月后同樣的問(wèn)題再次出現(xiàn)我全文檢索“內(nèi)存泄漏”直接找到了筆記半小時(shí)內(nèi)解決戰(zhàn)斗。這就是“沉淀加速”的價(jià)值——你未來(lái)最大的競(jìng)爭(zhēng)力不是解決問(wèn)題的能力而是復(fù)用自己經(jīng)驗(yàn)的速度。3.3 從手動(dòng)到自動(dòng)腳本化你的重復(fù)勞動(dòng)當(dāng)你習(xí)慣了上面的工作流之后下一步自然是把更多重復(fù)勞動(dòng)腳本化。我分享一個(gè)我常用的思路把“初始化一個(gè)新項(xiàng)目”的流程完全自動(dòng)化。理想的狀態(tài)是你敲一個(gè)命令腳本幫你完成以下所有步驟創(chuàng)建項(xiàng)目目錄和標(biāo)準(zhǔn)子目錄結(jié)構(gòu)。生成基礎(chǔ)配置文件如pom.xml或build.gradle。初始化 git 倉(cāng)庫(kù)創(chuàng)建默認(rèn)分支。生成 README 和.gitignore。打開(kāi)你慣用的編輯器。這一步的腳本本身并不復(fù)雜但把“從零開(kāi)始一個(gè)新項(xiàng)目”的時(shí)間從半小時(shí)壓縮到十秒之后你會(huì)發(fā)現(xiàn)一個(gè)明顯的變化你更愿意做實(shí)驗(yàn)了。以前想到“創(chuàng)建一個(gè)新項(xiàng)目好麻煩”很多想法就放棄了現(xiàn)在成本幾乎為零你更樂(lè)于試錯(cuò)。同樣的思路還可以應(yīng)用在“提交代碼”“發(fā)布版本”“跑全量測(cè)試”這些動(dòng)作上。每當(dāng)你發(fā)現(xiàn)自己在重復(fù)地敲一串命令、點(diǎn)一串按鈕時(shí)都值得停下來(lái)想一想我能不能把這個(gè)動(dòng)作壓縮成一個(gè)命令4. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄4.1 環(huán)境配置常見(jiàn)問(wèn)題速查表在配置這套工作流的過(guò)程中你一定會(huì)在某些環(huán)節(jié)卡住。我把最常見(jiàn)的幾個(gè)問(wèn)題和排查思路整理成一個(gè)速查表方便你對(duì)照處理問(wèn)題現(xiàn)象可能原因排查與解決思路終端提示符不顯示 git 分支未啟用 PROMPT_SUBST 或函數(shù)未定義檢查 zsh 配置中是否設(shè)置了 setopt PROMPT_SUBST確認(rèn)分支函數(shù)已加載命令補(bǔ)全失效插件未正確加載或 zcompdump 緩存過(guò)期執(zhí)行 compinit 重新生成補(bǔ)全緩存確認(rèn)插件安裝路徑正確Java 構(gòu)建時(shí)中文亂碼編譯字符集配置不對(duì)在構(gòu)建工具中統(tǒng)一設(shè)置 UTF-8 編碼終端也需調(diào)整語(yǔ)言環(huán)境AI 生成的代碼編譯不過(guò)依賴(lài)缺失或版本沖突讓 AI 補(bǔ)全依賴(lài)聲明或自行檢查構(gòu)建日志中的具體報(bào)錯(cuò)腳本在切換目錄后失效腳本內(nèi)部使用的是相對(duì)路徑統(tǒng)一改成基于腳本自身所在目錄的絕對(duì)路徑引用grep 搜不到知識(shí)庫(kù)內(nèi)容文件名編碼或格式特殊先確認(rèn)文件編碼為 UTF-8再檢查搜索語(yǔ)法是否正確4.2 踩坑實(shí)錄那些文檔里不會(huì)寫(xiě)的細(xì)節(jié)這里分享幾個(gè)我踩過(guò)的比較典型的坑希望能幫你避開(kāi)。第一個(gè)坑是過(guò)度依賴(lài) AI 導(dǎo)致的“能力退化”。有一段時(shí)間我?guī)缀跛械拇a都讓 AI 生成自己只負(fù)責(zé)復(fù)制粘貼和改參數(shù)。過(guò)了一個(gè)月我發(fā)現(xiàn)自己手寫(xiě)代碼的速度明顯變慢了一些常用的 API 名字也開(kāi)始記不清。這很可怕。后來(lái)我給自己定了個(gè)規(guī)矩AI 生成的代碼我至少要理解每一行的作用并且定期手寫(xiě)一些邏輯來(lái)保持“手感”。工具可以輔助你但不能替代你成長(zhǎng)。第二個(gè)坑是腳本寫(xiě)得太復(fù)雜。我早期寫(xiě)過(guò)一個(gè)“自動(dòng)化部署”腳本幾百行各種判斷、重試、日志輸出。結(jié)果過(guò)了幾個(gè)月再回頭看自己都看不懂了更別說(shuō)維護(hù)。后來(lái)我學(xué)乖了腳本只要能完成當(dāng)前的任務(wù)就行追求簡(jiǎn)潔而不是“全能”。每次有新需求就改腳本而不是預(yù)先設(shè)計(jì)一切。第三個(gè)坑是忽視反饋循環(huán)的度量。這一點(diǎn)我覺(jué)得特別值得展開(kāi)。所謂反饋循環(huán)指的是從你做出一個(gè)動(dòng)作到看到結(jié)果的時(shí)間。寫(xiě)代碼時(shí)保存到看到編譯結(jié)果這是一個(gè)循環(huán)改一行代碼到看到接口返回?cái)?shù)據(jù)也是一個(gè)循環(huán)。反饋循環(huán)越短你越容易進(jìn)入“心流”狀態(tài)越長(zhǎng)你就越容易煩躁、走神、干別的無(wú)關(guān)事情。我的建議是平時(shí)留意一下你自己的循環(huán)時(shí)長(zhǎng)如果改個(gè)代碼要等一分鐘才能驗(yàn)證結(jié)果這個(gè)工具鏈就一定有問(wèn)題需要優(yōu)化了。4.3 效率提升從“少做”開(kāi)始最后分享一個(gè)稍微反直覺(jué)的經(jīng)驗(yàn)真正提升效率的往往不是“多做”而是“少做”。什么意思我觀察過(guò)很多人的開(kāi)發(fā)流程發(fā)現(xiàn)里面有大量“其實(shí)根本不用做”的動(dòng)作。比如每次編譯都要跑全量測(cè)試其實(shí)大部分時(shí)候只需要跑跟改動(dòng)相關(guān)的幾個(gè)用例。每次啟動(dòng)都要先啟動(dòng)好幾個(gè)中間件服務(wù)其實(shí)本地開(kāi)發(fā)完全可以用輕量替代方案。每次提交代碼前都要手動(dòng)跑一遍格式化其實(shí)配置好 git 鉤子之后這個(gè)動(dòng)作可以完全省略。這些需求如果你意識(shí)到它們的存在并刻意去拆解很多都能被優(yōu)化掉。所以與其到處尋找“新的神器”不如先審視一遍自己每天都在重復(fù)的動(dòng)作看看哪些是真正必要的哪些只是慣性使然。去掉了不必要的事剩下的自然會(huì)更高效。5. 寫(xiě)在最后能力的本質(zhì)是系統(tǒng)坦白講寫(xiě)到這里我發(fā)現(xiàn)很難用一句話來(lái)總結(jié) superpowers 到底是什么。它既不是某個(gè)神奇的工具也不是某種復(fù)雜的技能更像是一套圍繞“反饋循環(huán)”建立的個(gè)人系統(tǒng)——讓輸入更順滑讓決策更快速讓產(chǎn)出更高效讓經(jīng)驗(yàn)?zāi)艹恋?。我自己的體會(huì)是這套系統(tǒng)的建立不是一蹴而就的而是靠一次次微小的優(yōu)化堆出來(lái)的。今天優(yōu)化一條命令明天加一個(gè)腳本后天整理一頁(yè)筆記。當(dāng)這些微小的改變積累到一定程度你會(huì)突然發(fā)現(xiàn)自己跟以前不一樣了——那種感覺(jué)確實(shí)有點(diǎn)像獲得了某種“超能力”。如果你也想搭建一套屬于自己的 superpowers我的建議是不要想著一步到位先選一個(gè)每天都要用、且讓你覺(jué)得最別扭的操作把它優(yōu)化到順手為止。然后享受那種“原來(lái)可以這么快”的快樂(lè)順著這種感覺(jué)把越來(lái)越多的環(huán)節(jié)納入你的掌控。最后再分享一個(gè)小技巧定期比如每個(gè)月底花十分鐘回顧一下這個(gè)月的工作流看有沒(méi)有什么動(dòng)作是可以?xún)?yōu)化的。不需要大動(dòng)干戈哪怕只發(fā)現(xiàn)一個(gè)可以縮短反饋循環(huán)的點(diǎn)下個(gè)月你的開(kāi)發(fā)體驗(yàn)也會(huì)比這個(gè)月更好。能力的提升不一定是線性的但一定是從小處開(kāi)始的。