软件开发经验
软件开发经验:疑问、想法
#tech / dev / pattern
#type / howto
#status / growing
[!info] related notes
软件开发经验
疑问
每个项目中都有独特的规范、架构、偏好,应该怎么详细的记录(让人能更好的看明白,让AI能更好地遵守?
比如文件、文件夹的命名规范、变量的命名规范 还有 各种架构、代码组织的形式
是不是可以先穷尽种类,然后给出规范,一一对应。
主要就是现在代码里面有很多的技术债务。然后我希望它根据最新的代码——就是优化过的代码,把它们中的那些代码规范提取出来,作为项目的规范。然后再重新优化整个项目,把项目所有的相关代码都要优化为最新架构的最优雅的代码。
前端
- 在使用两次及以上时就该考虑封装
- 时间组件为例,format(‘dataTime1’,“YYYY-MM-DD”) 多次使用,然后突然要全部地方改为 DD-MM-YYYY的格式
- 不要直接使用后端返回的时间字符串展示,前端应该额外处理,即使已经符合展示样式,原因同上
后端
- 对前端返回的数据进行字段检查-避免字段缺失或者单个字段错误导致的错误难以排查
总
对于非幂等的 HTTP 方法(POST、PATCH、DELETE),不应该自动重试。
软件要想不变为屎山,似乎都需要进行封装。 封装提供了什么好处呢?
我觉得最关键的应该是封装实现了逻辑的统一管理,比如 时间展示的封装,或者是 startOfDay 方法的封装,如果某一天业务变化了(需要的不是一天的开始、要展示的时间样式变化了)可以直接在一处地方修改。 好像有点类似宏定义、枚举,这是单个属性的封装,而上面的是对业务(变量、函数、组件、样式等的集合)的封装。 时间处理就应该作为一个业务进行封装,不单单是 format(time, format) 这样的方法封装,应该进一步进行业务封装,如 xxx应用的时间展示(time, ),