编码总结
<h2>总结</h2>
<ol>
<li>错误码、类型码等,需要注释说明其含义</li>
<li>日志:错误分支,需要有详细的日志</li>
<li>全局变量统一用 g_ 开头</li>
<li>嵌套不能太深,保证可读性</li>
<li>尽量不要用魔数</li>
<li>异步编码,注意资源释放时机,如进程单例锁</li>
<li>调用命令,需要防注入 -- 考虑专门进行注入检查流程
调用命令,注意要用全路径</li>
<li>尽量不直接复制代码,或者抽取为函数,或者手动写</li>
<li>C 语言编码,用 valgrind 验证</li>
<li>拼 json 的时候,要用 json.encode 接口进行序列化,不能直接拼</li>
<li>一般场景下,优先保障可读性,太复杂容易出问题 -- 重试 timer 重复启动问题</li>
<li>子进程继承复用父进程的 0-3 号句柄,有些命令会向标准输出打印内容,如果因句柄异常打日志失败,会认为命令执行出错,如 date, uname 等</li>
<li>调试标记文件名,不要太复杂,要考虑方便传递</li>
<li>函数参数不要太多,考虑封装为结构体</li>
<li>
</li>
</ol>