项目管理
项目管理
千里之堤,溃于蚁穴。项目管理不是单纯的技术问题,是自己或团队不同环节配合起来的规范,个人主要从做事配合效率的角度出发整理能想到的。
技术编码规范
异常处理的最佳实践是只捕获自己能处理的异常,其它的都让它抛出去 模块之间的依赖应该为树状的而不是图,控制好边界 关注编程环境,刻意创造出允许高效试错的“代码乐园” 做一个项目需要注意的是什么: 各个组件和中间件的要版本固定和记录 系统版本要兼容一致 框架版本 依赖的包版本
写代码看代码时多想想,think twice,code once。
- 编码标准
- 命名约定
- 设计模式
- 注释
- 用到的测试脚本和测试用例等
- 为什么使用特定的设计模式?
- 为什么使用特定的语言?
- 缺点是什么?它可以与你的代码一起使用吗?
- 这些代码是否易于维护?
工具层面能解决的安全问题,不要写到手册里。
命名
这种事情最好交给强迫症来做
常见 | 示例 | 常见用途(不同语言可能不一样) |
---|---|---|
PascalCase 大驼峰 | UserProfile , GetUserInfo | 类名、结构体、枚举、公共方法 |
camelCase小驼峰 | userProfile , getUserInfo | 变量名、函数参数、方法名 |
snake_case蛇形 | user_profile , get_user_info | Python 变量/函数、数据库字段名 |
MACRO_CASE常量命名法 | MAX_SIZE , DEFAULT_TIMEOUT | 常量、宏定义(C/C++)、环境变量 |
CodeReview
【团队建设】如何做好团队开发中的 CodeReview(代码评审)? - CodeBlogMan - 博客园 #todo 这个人的博客也挺有意思,多看看其他文章也有好处
GitHub - itchaox/annotree: Generate folder directory annotation tree | 生成文件夹目录注释树
游戏项目规范
给起名困难症用的
动作分类 | 用途 | 示例 |
---|---|---|
创建/销毁 | ||
Create | 创建实例,常用于实例化方法和工厂方法的命名 | CreateInstance |
Initialize | 初始化实例的属性和设置,也可作为类方法初始化 | InitializeInstance, Initialize |
Load | 加载配置,根据配置创建内容 | LoadFromConfig |
Destroy | 销毁实例,常用于析构方法 | DestroyInstance |
Uninitialize | 清理实例的属性和设置,通常与 Initialize 对应 | UninitializeInstance, Uninitialize |
获取/设置 | ||
Get | 取属性或通用获取 | GetStartTime |
Fetch | 通过网络请求获取内容 | FetchAllUsers |
Calculate | 通过计算获取内容 | CalculateTotalAmount |
Read | 读取(多用于文件、配置等) | ReadFile, ReadConfig |
Query | 查询 | QueryRemainingAmount |
Find | 查找(多用于数据库、集合等),与 search 相似 | FindOrder |
Receive | 接收(多用于文件、消息等) | ReceiveNewMessage |
Pull | 拉取 | PullLastestSourceCode |
Set | 设置属性或通用设置 | SetStartTime |
Write | 写入(文件/配置等) | WriteFile, WriteConfig |
Put | 放入 | PutUserWithId |
Push | 存入,推送(通知) | PushNotification |
更新 | ||
Reset | 强调重置(标记、状态) | ResetTimer |
Refresh | 刷新(多用于页面、缓存等) | RefreshCurrentPage |
Update | 更新(多用于配置、状态等) | UpdateUserSetting |
添加/移除 | ||
Add | 通用添加方法命名 | AddNewStudent |
Append | 强调在尾部添加(追加) | AppendCharacter |
Insert | 强调插入(可在任意位置) | InsertCharacter |
Delete | 表示删除,与 Remove 相近 | DeleteDirectory |
Remove | 表示移除,与 Delete 相近 | RemoveInvalidDeals |
启动/停止 | ||
Open | 开启(多用于开启状态、打开文件等) | OpenEnhanceMode |
Start | 开始(强调开始某个流程) | StartPortListening |
Launch | 发动/启动(多用于启动程序、服务) | LaunchAssistService |
Close | 关闭(多用于关闭状态、关闭文件等) | CloseEnhanceMode |
Stop | 停止(强调流程的终止) | StopPortListening |
Pause | 暂停(强调流程暂停,可能后续继续) | PausePageLoading |
Finish | 完成(强调流程的完成) | FinishRequesting |
集合处理 | ||
Filter | 过滤、筛选(按条件) | FilterByName |
Merge | 合并(有时带合并规则) | MergeTwoConfig |
Concat | 拼接(直接在结尾添加) | ConcatToArray |
Split | 分割 | SplitInput |
Deduplicate | 去重(去除完全相同的项) | DeduplicateList |
Reverse | 颠倒、反向排列 | ReverseRecord |
Sort | 排序(有时带排序规则) | SortDealsByAmount |
Fill | 填充(一般会覆盖) | FillAmountList |
业务处理 | ||
Parse | 解析(成格式或提取内容) | ParseFromJson, ParseResult |
Analyse | 分析(不能简单获取) | AnalyseLocation |
Convert | 类型转换(一种类型转另一种) | ConvertToString |
Format | 格式化数据 | FormatToLocaleString |
Validate | 合法性/有效性校验 | ValidateUserInputs |
Ensure | 期待值的校验 | EnsureUserAge |
Compose | 组成(多项内容组成一个结果) | ComposeMessage |
Encode | 编码(依赖约定格式) | EncodeUrl |
Decode | 解码(依赖约定格式) | DecodeUrl |
Encrypt | 数据加密(依赖约定算法) | EncryptContent |
Decrypt | 数据解密(依赖约定算法) | DecryptContent |
Backup | 备份(注意拷贝方式,避免误导) | BackupUserSettings |
Restore | 恢复 | RestoreUserSettings |
Import | 导入(按特定格式文件转换) | ImportFromFile |
Export | 导出(转换成特定格式文件) | ExportToFile |
Compress | 压缩(依赖约定算法) | CompressOversizedFile |
Decompress | 解压缩(依赖约定算法) | DecompressOversizedFile |
GitHub - gscheartA/Improve-your-code: 《改善丑陋的代码》——红桃A士视频分享系列
Last Edit: 2025-09-15 22:03:33
Loading...