language-style-guide
1
总安装量
2
周安装量
#52353
全站排名
安装命令
npx skills add https://github.com/brotherpeng/my-skills --skill language-style-guide
Agent 安装分布
opencode
2
cursor
2
kiro-cli
2
codex
2
claude-code
2
antigravity
2
Skill 文档
language-style-guide Skill
æ¤ Skill 为 è¯è¨æ å ³ (Language Agnostic) çéç¨è§èï¼éç¨äºææç¼ç¨è¯è¨ï¼å¦ JavaScript, Python, Go, Java, Rust, C++ çï¼ååç±»é ç½®æä»¶ãæ 论使ç¨ä½ç§ææ¯æ ï¼åééµå¾ªæ¬è§è以确ä¿ä¸æææ¯ç¤¾åºçæä½³å®è·µã
1. æ ¸å¿åå (Core Principles)
- 强å¶ä¸æåå¤ï¼é¤éç¨æ·æç¡®è¦æ±ä½¿ç¨å ¶ä»è¯è¨ï¼å¦åææå¯¹è¯åå¤ãè§£é说æå¿ 须使ç¨ç®ä½ä¸æã
- ä¸ä¸æ§ä¸åç¡®æ§ï¼ä¿æææ¯ä¸ä¸åº¦ãä¸è¦ä½¿ç¨æºå¨ç¿»è¯è ã
- æ··åæçè§èï¼å¨ä¸è±ææ··ææ¶ï¼åè¯åå建议ä¿çç©ºæ ¼ï¼ä¾å¦ï¼ä½¿ç¨
Redisç¼åï¼ï¼ä»¥æåé 读ä½éªã
2. ä»£ç æ³¨éè§è (Code Commenting Standards)
å¨ç¼åæä¿®æ¹ä»£ç æ¶ï¼æ³¨éå¿ é¡»éµå¾ªä»¥ä¸è§åï¼
- è¯è¨ï¼æææ³¨éææ¬å¿ é¡»ä¸ºç®ä½ä¸æã
- 飿 ¼ï¼
- è¡å 注éï¼è§£é代ç çâæå¾âèéâå颿æâã
- 彿°/ç±»ææ¡£ï¼ä¸¥æ ¼éµå¾ªå½åè¯è¨çæ åææ¡£è§èï¼å¦ JS/TS ç JSDoc, Python ç Docstrings, Go ç GoDoc, Rust ç Rustdoc çï¼ã
- TODO/FIXMEï¼æ è®°å¿ é¡»æ¸ æ°ï¼æè¿°å ·ä½å¾ åäºé¡¹ã
ç¤ºä¾ (éç¨ä»£ç 飿 ¼):
/**
* å¤çæ ¸å¿ä¸å¡æ°æ®
* éªè¯è¾å
¥æææ§ï¼å¹¶å¨æ§è¡å¤±è´¥æ¶è¿è¡éè¯¯åæº¯
*
* @param {string} inputId - å¯ä¸æ è¯ç¬¦
* @param {object} config - é
ç½®åæ°å¯¹è±¡
* @returns {boolean} æä½æ¯å¦æå宿
*/
function processCoreData(inputId, config) {
// æ ¡éªæ¥éª¤ï¼ç¡®ä¿ ID ä¸ä¸ºç©ºä¸æ ¼å¼æ£ç¡®
if (!isValid(inputId)) {
return false;
}
try {
// æ§è¡ä¸»è¦é»è¾ï¼è¿æ¥è¿ç¨æå¡åæ¥ç¶æ
// 注æï¼æ¤å¤éè¦è®¾ç½®è¶
æ¶æ¶é´é²æ¢é»å¡
const result = remoteService.sync(inputId, {
timeout: 5000,
mode: config.mode
});
return result.isSuccess;
} catch (error) {
// å¼å¸¸å¤çï¼è®°å½å æ ä¿¡æ¯ä»¥ä¾¿åç»ææ¥
logError("Data sync failed", error);
throw error;
}
}
ç¤ºä¾ (Python):
def process_user_data(user_id, options=None):
"""
æ¸
æ´å¹¶è½¬æ¢ç¨æ·ä¼ å
¥çåå§æ°æ®
Args:
user_id (str): ç¨æ·çå¯ä¸æ è¯ ID
options (dict, optional): å¤çé项é
ç½®. Defaults to None.
Returns:
dict: å¤çåçæ ååç¨æ·æ°æ®åå
¸
Raises:
ValueError: å½ user_id æ ¼å¼ä¸ç¬¦åé¢ææ¶æåº
"""
# 颿£ï¼éªè¯ ID æ ¼å¼
if not validate_id(user_id):
raise ValueError("æ æçç¨æ· ID æ ¼å¼")
# TODO: å¾
ä¼å - å¤§æ°æ®éæ¶å»ºè®®æ¹ç¨æ¹éå¤ç
raw_data = db.fetch(user_id)
return transform(raw_data)
3. ææ¡£ç¼åè§è (Documentation Standards)
åå»ºææ´æ° Markdown ææ¡£ï¼å¦ README.md, API ææ¡£ï¼æ¶ï¼
- æ é¢å±çº§ï¼ç»ææ¸ æ°ï¼åçä½¿ç¨ H1, H2, H3ã
- æè¿°æ§è¯è¨ï¼ä½¿ç¨ç®æ´ãæåç䏿å¨è¯ã
- æ¯è¯å¤çï¼
- ä¿çè¡ä¸æ åè±ææ¯è¯ï¼å¦
Kubernetes,React Hook,Middlewareï¼ï¼ä¸è¦å¼ºè¡æè¯ï¼å¦ï¼ä¸è¦ç¿»è¯ä¸ºâèµæâãâååºé©åâï¼ã - 馿¬¡åºç°ççå»ç¼©åï¼å»ºè®®å¨æ¬å·å ç®è¦è¯´æã
- ä¿çè¡ä¸æ åè±ææ¯è¯ï¼å¦
4. 交äºä¸åå¤é£æ ¼ (Interaction Style)
- ç»æååçï¼å¯¹äºå¤æé®é¢ï¼ä½¿ç¨âåæâãâæ¹æ¡âãâ宿½æ¥éª¤âçå°æ é¢å段ã
- 代ç è§£éï¼å¨æä¾ä»£ç ååï¼ç¨ä¸æç®è¦è§£éå ³é®åæ´ç¹ã
- æç»ç硬翻è¯ï¼
- Bad: “ç°å¨çä¸ä¸ææ¯…” (The current context is…) -> Good: “å½åçæ§è¡ç¯å¢…” æ “ç®åçæ åµ…”
- Bad: “è·è¿ä¸ªå½ä»¤” (Run this command) -> Good: “æ§è¡ä»¥ä¸å½ä»¤”
5. ä¾å¤æ åµ (Exceptions)
- æ¥å¿/é误信æ¯ï¼å¼ç¨åå§ç³»ç»æ¥å¿ææ¥éä¿¡æ¯æ¶ï¼ä¿æåæï¼é常æ¯è±æï¼ï¼ä½å¨åææ¶ç¨ä¸æè§£éã
- ç¹å®å符串ï¼ä»£ç ä¸ä½ä¸ºæ°æ®å¼çè±æï¼å¦
'en-US','Content-Type'ï¼ä¸å¯ä¿®æ¹ã - ç¨æ·å¼ºå¶è¦æ±ï¼å¦æç¨æ·æç¡®å¹¶å¨ Prompt ä¸è¦æ± “Answer in English”ï¼å忬¡åå¤éµå¾ªç¨æ·æä»¤ï¼ä½çæç工件ï¼ä»£ç 注éï¼ä»å»ºè®®ä¿æé¡¹ç®ä¸è´æ§ï¼é¤éé¡¹ç®æ¬èº«æ¯å ¨è±æç¯å¢ï¼ã