项目管理
项目管理
千里之堤,溃于蚁穴。项目管理不是单纯的技术问题,是自己或团队不同环节配合起来的规范,个人主要从做事配合效率的角度出发整理能想到的。
技术编码规范
异常处理的最佳实践是只捕获自己能处理的异常,其它的都让它抛出去 模块之间的依赖应该为树状的而不是图,控制好边界 关注编程环境,刻意创造出允许高效试错的“代码乐园” 做一个项目需要注意的是什么: 各个组件和中间件的要版本固定和记录 系统版本要兼容一致 框架版本 依赖的包版本
写代码看代码时多想想,think twice,code once。
- 编码标准
- 命名约定
- 设计模式
- 注释
- 用到的测试脚本和测试用例等
- 为什么使用特定的设计模式?
- 为什么使用特定的语言?
- 缺点是什么?它可以与你的代码一起使用吗?
- 这些代码是否易于维护?
工具层面能解决的安全问题,不要写到手册里。
如果有使用字符串匹配的地方大小写一定要校验 ,比如兑换码可能出现多次兑换的情况 GitHub - itchaox/annotree: Generate folder directory annotation tree | 生成文件夹目录注释树
命名
这种事情最好交给强迫症来做
| 常见 | 示例 | 常见用途(不同语言可能不一样) |
|---|---|---|
| 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 这个人的博客也挺有意思,多看看其他文章也有好处
游戏项目规范
给起名困难症用的
| 动作分类 | 用途 | 示例 |
|---|---|---|
| 创建/销毁 | ||
| 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-24 09:53:20
Loading...
