沟通
跨部门沟通,首先应确立沟通的目的是双方的有效配合和问题解决的方向、方法,去除程序员们自带的问题责任论,不能按照“不是我的问题,我这OK,跟我无关”这样的思路去讨论和解决问题。首要问题是协作和问题定位与解决。
复盘
工作任务安排、分配和执行要做好精细化管理,可量化,完成后要针对发生的问题和解决方法进行有效的复盘。
运维
- 开发先行,监控与测试随后。监控包括性能参数、QPS/TPS、接口响应时长、宿主机、系统IO、CPU以及依赖的Redis、RabbitMq等第三方系统。深入的检测和了解系统才是系统稳定、优化和提升的前提。
研发相关
- 开发中尽力减少代码重复,每一次重复都是一次技术债务
- 多多实探索有效的设计模式原则,多多实践,优化代码结构,最大上保持“开闭原则”
- 状态码、字面量应定义对应的常量或枚举
- 变量、常量、枚举项、类名、接口等命名要规范,直白。例如:数据删除状态是用status的特定值表示,涉及内容删除的操作,应尽量是deleteXXX而不是updateStatus,方法内部可调用updateStatus进行状态更新
- long整型赋值时,避免类型转换。
// 错误的写法 强制转化时,溢出
long longValue = 1000 * 24 * 3600 * 100;
// 正确的写法
long longValue = 1000L * 24 * 3600 * 100;
- 开发中对于关键点的日志,应尽量翔实、准确。翔实、准确的日志有利于排查系统异常和问题,甚至是性能measure类的日志,可以用来描述系统特定方法或区域的执行性能。
- 系统异常进行有效的处理。可检测异常,应尽量做有效的日志处理,对应到合理的日志级别。
- 在系统层面,可通过异步方式进行业务分离的,甚至离线计算的,应尽量保持系统模块分析或做异步线程处理。
以上
后续其他内容,整理后继续补充