less 是做什麼的?
更少,但更好。只保留有存在理由的內容。
測試
對於每個元素(句子、附帶說明、標題、項目符號、註解、函式、參數、選項),請問:這個元素有明確的存在理由嗎? 如果沒有,就移除它。清晰勝過簡潔。不確定時,請保留它。 判斷一個段落在上文脈絡中的作用,而不是它是否符合某個固定用語。 閱讀前後文:一個修飾語可能影響後面的句子。 保留未確認移除目標之外的句子和程式碼區域不變;僅允許這些移除所需的局部修復。
使用時機
僅在收到請求或明確提示時使用,而不是在單純撰寫草稿或新程式碼時。 移除不必要的内容;僅允許保持結果語法正確或可執行所需的局部編輯(例如內聯化一個冗餘的輔助函式)。不做獨立的風格或語氣改寫、翻譯、固定長度摘要、事實查核、演算法替換或效能工作。
不適用
原樣返回輸入內容,並加一行說明原因,適用於以下情況:
- 法律、合約或其他原文;引用和逐字稿。
- 使用者未指明的程式碼、設定或命令。
僅更改使用者指定的程式碼。使用者設定的長度或格式並非排除條件:在其範圍內工作。
移除順序
首先檢查每個候選項是否屬於「絕不刪除」的範圍,尤其是使用者自己的問候語和結尾語。
寫作:
- 你添加的前言、重複提問和問候語(「好問題!」)。
- 你添加的結尾總結和提議,或結束 PR 說明、提交訊息或文件的內容(「希望這有幫助」、「想讓我...」)。
- 不改變任何內容的修飾語和填充詞。
- 重複的要點(保留最清晰的那個)。
- 未要求的附帶說明和替代方案,且不改變讀者要做的事。
- 約 5 句以下的答案中的裝飾:標題、粗體、項目符號。
- 合併並縮短其餘部分,保持句子完整。編輯使用者文字時,不要合併或改寫句子;僅修復因刪除而直接受影響的語法。
程式碼:
- 重複程式碼的註解。
- 不必要的抽象:輔助函式、包裝器、介面、工廠。 單獨使用並不能證明抽象是不必要的。
- 未要求的選項、旗標、設定。
- 針對從可見程式碼中證明不可能發生的情況的防禦性程式碼。 否則保留它。
在移除程式碼或選項之前,檢查可用的呼叫者、匯出和相關測試。除非使用者明確要求更改,否則保留外部使用的簽章和行為。在程式碼編輯後執行相關的現有檢查;如果無法確定用法或行為,請保留該候選項。
文件:逐節應用測試。保留讀者導航所需的結構:標題、目錄和錨點、其他地方引用的編號步驟、包含資料的表格。僅當整個章節無法通過測試時才移除。除非整個章節被刪除,否則保留每個標題及其目錄條目;切勿將章節合併到引言中。
設計:對於使用者指定的 UI 程式碼,對元素和樣式應用測試。僅在檢查 references/design.md(移除順序和絕不刪除列表)後才移除。該處未要求的內容指的是代理添加的內容,而非使用者撰寫的內容。僅更改標記和樣式;不進行新的美學設計。不適用於建構新 UI、螢幕截圖或 Figma 檔案。
絕不刪除
- 正確性:數字、單位、日期、條件、例外、否定。
- 宣稱強度:不確定性、近似值、範圍、因果關係和義務。保留具有意義的修飾語,例如「大約」、「一些」、「最多」、「可能」和「必須」;縮短不得強化或弱化宣稱。
- 必要的脈絡:讀者行動所需的資訊(先決條件、步驟、版本)。
- 安全性:資料遺失、安全、金錢、法律、不可逆操作警告。
- 使用者的要求:要求的內容、格式、長度、限制。
- 歸屬和引用。
- 編輯使用者文字時的使用者語氣。不要改寫風格。
- 在發送給他人的訊息(電子郵件、聊天、信件)中,使用者撰寫的:問候語、結尾語,以及要求回覆或提問的句子(「讓我知道是否...」)。例如「如果有任何不清楚的地方,請隨時聯絡我。」保留;你可以修剪「隨時」和「仍然」。僅保護問候語和結尾語:使用者文字中的其他填充詞(「基本上」、「字面上」、「只是」)仍然被刪除,保留他們的語氣。
- 禮貌級別:존댓말/敬語形式、様、問候語、結尾語。其中的堆疊軟化語和強調詞(정말、혹시、大変、誠に、何卒)僅是候選項:當它們帶有不確定性或社交意圖時保留它們。
- 程式碼:行為(輸出、副作用、錯誤);在真實邊界(I/O、網路、使用者輸入)的錯誤處理;「為什麼」的註解、限制、安全性說明;除非被要求,否則保留公開 API 和簽章;影響檢查或執行階段的型別註解;僅用於測試的掛鉤和接縫。
- 任何你無法確定用途的內容。
停止
當每個元素都通過測試時停止,或者當下一次刪除將損害意義或需要猜測時停止。將結果與來源進行比較,檢查是否有改變的宣稱強度以及對良好相關內容的意外編輯。 永遠不要為了達到某個長度而刪除。如果使用者要求縮短他們的文字,則無法通過測試的填充詞將被刪除;未更改的部分需要理由。
輸出
僅輸出精簡後的文字或程式碼,格式和語言與輸入相同。例外:在「不適用」下的一行說明。除非使用者要求,否則不要評論被刪減的內容;如果要求,則列出它們。如果沒有內容需要更改,則原樣返回。