[logseq-plugin-git:commit] 2025-01-21T09:25:23.910Z

This commit is contained in:
YuanHui
2025-01-21 17:25:24 +08:00
committed by lostecho
parent 263a7250fc
commit 1423054614
2 changed files with 37 additions and 0 deletions

1
journals/2025_01_21.md Normal file
View File

@@ -0,0 +1 @@
- [[编程规范]]

36
pages/编程规范.md Normal file
View File

@@ -0,0 +1,36 @@
- Python项目
- | 名称类型 | 命名格式 | 示例 | 说明 |
|--|--|--|--|
| 变量名 | 小写字母,单词间用下划线 `_` 分隔snake_case | `user_name`, `total_count`, `file_path` | 应具有描述性,尽量避免单字母变量名,除非是循环中的临时变量,且不能使用 Python 内置关键字 |
| 函数名 | 小写字母,单词间用下划线 `_` 分隔snake_case | `def calculate_average(numbers):`, `def get_user_info(user_id):` | 通常使用动词或动词短语,清晰表达函数功能 |
| 类名 | 首字母大写的驼峰命名法CamelCase | `class Person`, `class DataProcessor`, `class UserProfile` | 通常是名词或名词短语,代表所创建对象的类型 |
| 常量名 | 全部大写字母,单词间用下划线 `_` 分隔 | `MAX_CONNECTIONS`, `PI_VALUE`, `DEFAULT_TIMEOUT` | 一般在模块级别定义,存储不会被修改的值 |
| 模块名 | 小写字母,单词间用下划线 `_` 分隔snake_case | `math_utils`, `file_operations`, `data_processing` | 名称应反映模块功能,方便导入时理解其内容 |
| 包名 | 小写字母,单词间用下划线 `_` 分隔snake_case | `my_package`, `utilities`, `web_framework` | 与模块命名类似 |
| 类的私有属性和方法 | 名称前添加双下划线 `__` | `class MyClass: __private_attribute = 1`, `def __private_method(self):` | Python 会对双下划线开头的名称进行名称修饰,使外部难以直接访问,是一种约定 |
| 特殊方法 | 双下划线包围 | `__init__`, `__str__`, `__len__` | 遵循 Python 的内置约定 |
- Vue项目
- | 名称类型 | 命名格式 | 示例 | 说明 |
|--|--|--|--|
| 组件名 | 首字母大写的驼峰命名法PascalCase | `MyComponent.vue`, `UserProfile.vue` | 组件名应清晰地表明其功能或代表的模块,在 Vue 单文件组件中使用,易于识别和区分不同组件 |
| 组件内的数据属性 | 小写字母,单词间用下划线 `_` 分隔snake_case | `data() { return { user_name: '', total_count: 0 }; }` | 通常表示组件内部的数据状态,遵循 Vue 推荐的风格,便于数据的操作和绑定 |
| 组件内的计算属性 | 小写字母,单词间用下划线 `_` 分隔snake_case | `computed: { full_name() { return this.first_name + ' ' + this.last_name; } }` | 以函数的形式定义,其返回值可被视为组件的数据,通常根据已有数据进行计算得出 |
| 组件内的方法 | 小写字母,单词间用下划线 `_` 分隔snake_case | `methods: { handle_click() { // 处理点击事件 } }` | 用于处理组件的各种事件和业务逻辑,一般使用动词或动词短语,使方法的功能清晰 |
| 组件内的事件名称 | 小写字母,单词间用连字符 `-` 分隔kebab-case | `<button @click="handle-submit">Submit</button>` | 在模板中绑定事件时,使用 kebab-case 符合 Vue 的语法要求 |
| Vuex 的状态State | 小写字母,单词间用下划线 `_` 分隔snake_case | `const state = { user_info: null };` | 存储 Vuex 中的状态数据,方便状态管理和更新 |
| Vuex 的 mutations 名称 | 大写字母,单词间用下划线 `_` 分隔 | `const mutations = { SET_USER_INFO: (state, payload) => {... } }` | 一般使用大写,使操作数据的动作更具标志性,明确表示修改状态的意图 |
| Vuex 的 actions 名称 | 小写字母,单词间用下划线 `_` 分隔snake_case常使用动词短语 | `const actions = { fetch_user_info({ commit }) {... } }` | 用于异步操作或复杂的业务逻辑处理,通过触发 mutations 来修改状态 |
| Vue 路由名称 | 小写字母,单词间用连字符 `-` 分隔kebab-case | `const routes = [{ path: '/user-profile', name: 'user-profile', component: UserProfile }]` | 在 Vue Router 中使用,与 URL 结构风格一致,方便记忆和维护 |
| Vue 路由的路径 | 小写字母,单词间用斜杠 `/` 和连字符 `-` 分隔 | `/user-profile`, `/product-list` | 通常与路由名称相匹配,代表页面的 URL 路径,使用连字符分隔单词,使路径清晰可读 |
- Java
- | 名称类型 | 命名格式 | 示例 | 说明 |
|--|--|--|--|
| 类名 | 首字母大写的驼峰命名法PascalCase | `public class UserProfile`, `class DataAnalyzer` | 通常是名词或名词短语,代表所创建对象的类型,清晰地表明类的用途 |
| 接口名 | 首字母大写的驼峰命名法PascalCase | `interface Runnable`, `interface DataSource` | 一般使用名词或形容词,描述接口所提供的服务或功能 |
| 方法名 | 首字母小写的驼峰命名法camelCase | `public void calculateAverage()`, `private int getUserAge()` | 通常使用动词或动词短语,明确表示方法要执行的操作 |
| 变量名 | 首字母小写的驼峰命名法camelCase | `int userAge`, `String userName` | 具有描述性,能够清晰地表达变量所存储的数据内容,避免使用单个字母或无意义的名称 |
| 常量名 | 全部大写字母,单词间用下划线 `_` 分隔 | `public static final int MAX_CONNECTIONS = 100`, `final double PI_VALUE = 3.14159` | 存储不会被修改的值,一般在类级别定义,使用大写字母和下划线组合,方便区分 |
| 包名 | 全部小写字母,使用域名倒序,单词间用点 `.` 分隔 | `com.example.project`, `org.apache.commons` | 通常使用公司或组织的域名倒序作为前缀,后续单词使用小写,体现包的层次结构和功能 |
| 枚举名 | 首字母大写的驼峰命名法PascalCase | `enum Season`, `enum UserRole` | 表示一组有限的常量,通常为名词或名词短语,清晰描述枚举的类别 |
| 静态变量名 | 首字母小写的驼峰命名法camelCase可加 `s_` 作为前缀(非强制) | `private static int s_count`, `public static String staticMessage` | 存储类的静态数据,使用 `s_` 前缀可帮助识别静态变量,但不是必需的 |
| 静态方法名 | 首字母小写的驼峰命名法camelCase | `public static void printMessage()`, `private static int calculateSum()` | 可以直接通过类名调用,通常表示与类相关但不依赖实例的操作 |