关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

云南企业审查开发代码的几个点

发布时间:2020-02-13 18:51:01

无论是网站开发、还是APP开发,只要是开发就需要通过代码编程来搭建,一个网站或是应用程序的运行的好坏与代码的质量有着很大的关联性,下面我以我公司15年的开发经验大家分享一下审查代码的标准点:

1. 实现企业要求

代码能够满足企业要求这是基本的要求。

2.牢不可破,合理验证

验证是很必要的。代码在任何情况下都不会中断,所以在遇到来自用户端的无效输入的也不会中断,否定的、过大的或者无效的格式输入应该在进一步处理之前就清理完成,在访问之前,应该要检查每个对象的实际数据是否合理。

3.处理响应

不应只是对服务器返回的错误消息进行处理,服务器返回的所有响应都应该处理,而且它还应该具有标题,响应消息,错误代码以及任何其他必要的细节。在测试时要尽量全面的考虑到所有情况,来避免死锁,超时等情况。

4. 结构设计,无设计偏差

应用软件设计与功能实现说明文档是程序设计首要做的工作,代码的编写一定要严格遵循此文档,如果出现任何设计更改的情况,那么在现有代码实现之前,就要对其进行记录和标准化。

5. 单元测试可靠

每个核心方法都要经过单元测试,确保这些方法都是可用的。

6. 避免代码重复

在代码实现的过程中,程序中很可能会出现需要实现相同功能的部分,这时,我们可以考虑把这些相同代码写成函数,然后直接调用,避免代码重复。

7. 快速响应和可扩展性

应用程序的响应应该是快速的:请求和响应之间没有长时间的延迟、避免原始字符串连接;代码是可扩展的,能够处理大量的数据和未来可能需要添加的功能。

8.代码安全

确保代码在加密认证、角色、未经授权的访问、目录浏览、SQL注入、跨脚本等方面是安全的,并遵循OWASP安全原则。

9.可管理

代码可读性强,有适当的注释且易于管理,方法的大小不超过可读范围。

10.标准化方法

遵循编码惯例和标准,与现有的应用程序代码是一致的,并且不应该存在已被注释了的代码和硬编码。

11.内存处理

在使用结束后未自动释放的资源将被释放。连接,端口正确关闭。

12.可追溯性

记录每笔交易或需要记录的日志,然后存储在存储库(作为文件)以及数据库(作为文本)中。可以在配置文件(例如web.config)中启用或禁用不同阶段的版本。

13.代码覆盖率大于95%

代码覆盖与单元测试用例一样重要。 95%的代码被覆盖意味着95%的代码实际上是通过单元测试用例测试的。

14.快速

仅提供需求就可以方便的获取资源,必要时可以处理庞大的数据,如分页等。

15.数据安全

运行应用程序时不会出现编译器警告。清除开发过程中使用的日志,并且不会在浏览器控制台中写入任何应用程序信息,特别是敏感的信息。

16.第三方工具许可

在必要时应用程序可能会使用外部库,如果它是第三方工具,那么它的许可证和法律用途必须合规。



相关阅读

云南选择外包网站建设的优势云南提升网站排名的两大要素云南优秀的商城网站都会拥有这几点云南APP与小程序之间的优劣对比云南给企业选择虚拟主机时的小建议云南网站推广的方式附带价格讲解云南国内外网站之间的差异在哪里云南网站内容更新的一些小建议云南如何得知企业网站是否该更新改版云南定制开发网站的好处在哪里MySQL的备份代码C++中删除文件夹及包含的文件的方法C中matlab集合操作方法模拟鼠标点击的方法代码vs 取文件大小 字节的方法Python连接数据库的API如何获取桌面路径的方法云南首个新餐饮云平台-翼通云新餐饮应疫情上线认识什么是js闭包Python3标准库:operator内置操作符的函数接口R语言入门:矩阵和数组的运算flutter的取得成功Flink 融合 Apollo,动态性升级 Flink 工作配备C3#中如何重写object虚方法应用Visual Studio Comunity 2019开发设计Unity C#脚本制作沒有全自动补齐的解决方案C#如何快速实现完整的INI文件读写类C#设定自定文件图标保持双击鼠标起动C#中实现保持文档拖拽开启的方式WPF:客户控制库应用資源词典的疑惑The finally block does not always execute in try finallyC#:checked unchecked初识DjangoEffective C#:基于任务的异步编程flex延展性盒模型合理布局你弄懂了吗?npm环境下如何安裝Vue.js熟悉vue目录结构初步学习Vue.js关于Vue.js的条件与循环vue循环语句使用v-for 指令Vue.js计算属性关键词:computedVue.js 监听属性:通过 watch 来响应数据的变化电脑浏览器中普遍的html词义化标识运用chrome的overrides实时调试网上jsnodejs对字符串数组开展base64变换和分析关于js中函数的默认值与动态参数arguments的总结jquery幻灯片淡入淡出组件封装node 上传照片到七牛jquery滑动效果的运动模块封装ES6:教你用js面向对象思维来实现 tab栏增删改查功能前端的js构造函数和原型通过H5C3完成响应式网页(VIVO官网)ES6中的class(类)如何正确使用pocsuite3Apache Solr JMX服务项目 RCE 系统漏洞重现SharePoint 总体目标浏览人群SharePoint 2016 建立空白页网站Apache Shiro 授权关于2020年JAVA大厂笔经面经分享idea激话实例教程(永久性)适用2019 3.1 测试Go技术性人民日报(2020java map中根据value排序取前nFlutter中的this和this.widget有何差别?应用pandas挑选出特定列值所相匹配的行关于C语言指针的学习总结Java面向对象C++中常见的涵数有哪些?python异常处理会使用到哪些关键字?java开发设计JSP学员成绩管理系统 源代码根据JSP+Servlet开发设计java商场平时智能管理系统源代码python3-cookbook认识python 初学者须知Java 比较器python3-cookbook我的潘多拉深入理解Java虚拟机中的垃圾回收云南旅游网站设计需要有那些内容云南商城网站的支付安全如何维护云南为什么我们都是不建议使用模板建站的原因云南网站建设之中最容易被忽视的读小细节云南企业网站要突显特色要建设那些栏目云南网站中不同的背景颜色代表什么云南网站优化之程序优化云南医疗行业网站建设的注意事项云南网站后期的运营费用组成部分云南手表行业网站设计要点C#与Windows Form之间正确传值方法代码C++中如何产生不重复的随机数非常使用的技巧:次要关键字排序方法Matlab字符串分割详情取模(mod)与取余(rem)是一样的吗?如何区分?matlab svd 和 eig 之间如何区分C#中使用PictureBox来播放视频的代码分享Linux中使用内存映射文件MMF实现大数据量导出时的内存优化关于3年多前端菜鸡的面试及知识梳理与总结PyCharm教程安装,Python开发人员的强有力专用工具《Java 8 in Action》Chapter 12:新的日期和时间API环球在线新闻中心杨主任对我司谭昱同志的表彰【第7篇】如何理解asp.net core 3.x Identity系统Visual Studio Code如何设置Blazor clientEF CORE中复杂类型的映射
/template/Home/Zkeys/PC/Static