← Back to list

coding-standard-c
by jdubray
⭐ 14🍴 4📅 Jan 19, 2026
SKILL.md
name: coding-standard-c description: Enforce C coding standards including snake_case variables and functions, UPPER_SNAKE_CASE macros, and snake_case filenames.
C Coding Standards
When reviewing or generating C code, follow these rules:
File Naming
- Source files: snake_case with
.cextension (e.g.,user_service.c,data_parser.c) - Header files: snake_case with
.hextension (e.g.,user_service.h,data_parser.h) - Keep names short but descriptive (max ~20 characters)
Header Guards
- Format: UPPER_SNAKE_CASE with
_Hsuffix - Include path in guard: (e.g.,
PROJECT_MODULE_FILE_H)
#ifndef USER_SERVICE_H
#define USER_SERVICE_H
// content
#endif /* USER_SERVICE_H */
Variable Naming
- Local variables: snake_case (e.g.,
user_count,buffer_size,is_valid) - Global variables: snake_case with
g_prefix (e.g.,g_config,g_instance_count) - Static variables: snake_case with
s_prefix (e.g.,s_initialized,s_cache) - Pointers: Include
porptrsuffix when helpful (e.g.,user_ptr,buffer_p)
Constant/Macro Naming
- Macros: UPPER_SNAKE_CASE (e.g.,
MAX_BUFFER_SIZE,DEFAULT_TIMEOUT) - Enum values: UPPER_SNAKE_CASE (e.g.,
STATUS_OK,ERROR_INVALID_INPUT) - Compile-time constants: UPPER_SNAKE_CASE with
#define
Function Naming
- Functions: snake_case (e.g.,
calculate_total(),parse_input()) - Module prefix: Use module name prefix (e.g.,
user_create(),user_destroy()) - Static functions: snake_case, no prefix needed (internal to file)
- Init/cleanup pairs: Use
_init()and_cleanup()or_create()and_destroy()
Type Naming
- Structs: snake_case with
_tsuffix or PascalCase (e.g.,user_data_torUserData) - Typedefs: snake_case with
_tsuffix (e.g.,user_id_t,callback_fn_t) - Enums: snake_case with
_esuffix for type (e.g.,status_e)
Organization
- Header includes at top (system headers, then project headers)
- Macro definitions after includes
- Type definitions (structs, enums, typedefs)
- Function prototypes
- Global/static variable declarations
- Function implementations
Score
Total Score
60/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon