checklist 蔚落 2024-04-18 09:18 60阅读 0赞 <table> <tbody> <tr> <td>基础能力架构</td> <td>规范能力</td> <td>函数注释</td> <td><p>1.注释有效性:应该说明函数的用途和使用场景,函数内部的注释应该强调业务逻辑和设计思路,让后期的维护人员可以快速的明白</p></td> </tr> <tr> <td>功能注释规范</td> </tr> <tr> <td>日志规范性</td> <td> <p>1.日志要考虑运维人员和技术支持能不能看懂</p> <p>2.日志的有效性,比如先说明哪个action失败,失败的原因是什么,让别人可以快速定位问题是什么,日志要尽可能详细,严禁交代问题不清楚</p> <p>3.日志中使用中文,需要考虑下会不会有编码错误</p> </td> </tr> <tr> <td>REST API 规范</td> <td> <p>1.路径(url)即资源,让人一看就知道请求什么资源的</p> <p>2.url中不能有动词。在Restful架构中,每个网址代表的是一种资源,所以网址中不能有动词,只能有名词,动词由HTTP的 get、post、put、delete 四种方法来表示 </p> <p>3.url结尾不应该有斜杆"/"</p> <p>4.url应该使用连字符"-"来提高url的可读性,而不是使用下划线"_"</p> <p>5.url路径中资源名词均为复数</p> </td> </tr> <tr> <td>错误规范</td> <td> <p>1.通常一个错误会在很多地方出现,这样排查问题时只能看堆栈,才能确认问题在哪 ,所以我们在抛异常的时候应该考虑操作资源对象,动作,这样可以方便定位</p> </td> </tr> <tr> <td>数据库规范</td> <td> <p>1.编写语句时,需要考虑数据库的性能,转换成sql语句后是什么样的,会不会导致数据库消耗明显增加,会不会导致内存性能明显增加。当数据指数级增长时,会对数据库,cpu,内存产生什么影响,有没有考虑相应的优化方式</p> </td> </tr> <tr> <td>周期任务</td> <td> <p>1.使用周期任务前,考虑下是否一定需要周期性任务,有时一个状态锁就能解决的,没有必要上周期任务</p> <p>2.编写周期性任务时,考虑周期任务的横向扩展。例如acmp现在单节点部署,那么如果多节点部署,会不会有数据库操作冲突,会不会有横向扩展问题</p> </td> </tr> <tr> <td>命名规范</td> <td> <p>1.函数名:动作+资源</p> <p>2.变量:下划线 + 小写字母</p> <p>3.常量:全部大写</p> </td> </tr> <tr> <td>易用性</td> <td>用户易用</td> <td> <p>1.因为返回值、状态码、日志、异常不合理,导致易用性问题大量产生,解决bug消耗大量时间,故写代码时,建议做到一步三回头,站在客户与运维的角度考虑提示是否合理,能否理解,能否理解提示中的专业术语。</p> </td> </tr> <tr> <td>运维易用</td> </tr> <tr> <td>基础设计能力</td> <td>数据模型设计</td> <td> <p>1.设计数据库时,需要考虑业务模型,尽量遵循数据库设计三范式</p> <p>2.设计大表时,考虑业务是否需要,是否可以拆分成几张小表。</p> <p>3.考虑如何加快数据sql执行效率</p> </td> </tr> <tr> <td>REST API 设计</td> <td> <h4>rest API 设计指导:</h4> <p>1.http://www.ruanyifeng.com/blog/2011/09/restful.html</p> <p>2.http://www.ruanyifeng.com/blog/2014/05/restful_api.html</p> </td> </tr> <tr> <td>架构约束</td> <td>架构层次</td> <td> <p>1.编写代码是,考虑架构约束,从数据接入层,数据处理层,到数据执行层,考虑清楚每层的边界划分</p> </td> </tr> <tr> <td>模块层次</td> <td> <p>1.模块层次要清晰,模块间的关系要清楚</p> </td> </tr> <tr> <td>函数层次</td> <td> <p>1.对于函数,每个函数的注释区,变量的初始化区,变量的赋值区,逻辑处理区,分支处理区,异常处理区,结果处理区。编码时,适当语句放入相应区域,对于各个区域,适当间隔,代码层次清晰明了,方便别人阅读其代码。</p> </td> </tr> <tr> <td>高低层次</td> <td> <p>1.模块间是有优先级的(比如keystone),对于高优先级的模块,需要考虑调用关系,可靠性,性能等问题</p> </td> </tr> <tr> <td>调用层次</td> <td><p>1.调用不同模块时,需要清晰模块间的关系,编码时不能随意越界</p></td> </tr> <tr> <td>进阶能力</td> <td>基础设计能力</td> <td>模块 类 函数 公共库设计</td> <td><p>1.对于这些设计,我们编码时需要考虑,能不能把它进行抽象化,提炼出来。减少代码冗余。</p></td> </tr> <tr> <td>性能优化设计</td> <td>循环 执行效率</td> <td> <p>1.对于Python的不同数据类型,在不同场合下,可能选择不同的数据类型会带来更高的性能体验,减少内存占用,提高执行效率。</p> <p>2.对于for循环设计,层次一定要考虑清晰,不要一味的n层for循环来处理问题。是否有for循环之外更好的方法。</p> </td> </tr> <tr> <td>模式设计</td> <td>模式设计</td> <td><p>1.对于函数 基类 设计时,时刻考虑适合把相应设计模式引入代码中,通过设计模式解决代码/结构冗余问题</p></td> </tr> <tr> <td>CPU内存消耗</td> <td>CPU内存消耗</td> <td><p>1.Python的语言精简,代码灵活。但Python语言内存,CPU的开销相对很高,因此,我们在编码时,需要时刻考虑内存消耗,查询性能优化,数据选型是否合理,内存是否回收,已提升我们的提高我们的性能。</p></td> </tr> </tbody> </table>
相关 checklist table> <tbody> <tr> <td>基础能力架构</td> <td>规范能力</td> <td>函数注释</td> ... 蔚落/ 2024年04月18日 09:18/ 0 赞/ 61 阅读
相关 渗透测试C客户端(C-S架构)checklist 0x00 前言 本项目主要针对pc客户端(cs架构)渗透测试,结合自身测试经验和网络资料形成checklist,如有任何问题,欢迎联系,期待大家贡献更多的技巧和案例。 亦凉/ 2024年04月01日 16:07/ 0 赞/ 91 阅读
相关 Oracle DBA Daily Checklist There are several routine checklist and tasks to do in Oracle database by DBA ( Data 谁践踏了优雅/ 2023年10月05日 14:55/ 0 赞/ 47 阅读
相关 业务安全测试checklist 业务安全测试checklist 转载自某学习群的ppt,方便后面查询参考,应该是根据《Web攻防之业务安全实战指南》这本书梳理的,之前读过,感兴趣的同学可以去读原书。 Dear 丶/ 2023年06月11日 06:22/ 0 赞/ 18 阅读
相关 【转】渗透测试环境搭建常用命令方法checklist(iOS&&Android) 渗透测试环境搭建(iOS&Android) ![format_png][] ![format_png 1][] mobile渗透测试常用命令方法(iOS&An 迈不过友情╰/ 2023年03月13日 05:08/ 0 赞/ 43 阅读
相关 AR# 63739 Kintex UltraScale FPGA KCU105 Evaluation Kit - Board Debug Checklist Description The Kintex UltraScale FPGA KCU105 Evaluation Kit Checklist is useful to d 忘是亡心i/ 2022年05月16日 12:37/ 0 赞/ 128 阅读
相关 APP checklist 2017 <table> <tbody> <tr> <td colspan="3" style="background-color:ffff00;text-align: r囧r小猫/ 2022年04月13日 08:18/ 0 赞/ 210 阅读
相关 Checklist的补充规则 常见问题: 1、什么时候该补充Checklist? 2、Checklist应该写哪些用例? 3、自己写的模块是否自己执行? 深碍√TFBOYSˉ_/ 2021年11月05日 09:16/ 0 赞/ 296 阅读
还没有评论,来说两句吧...