个人博客作业Week2
一、是否需要有代码规范
- 这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西.
我反驳这个观点,这些规范是成千上万的程序员在开发程序中总结出来的代码规范,他有助于我们的开发,也方便他人阅读我们的代码。即使在开发的过程中编码的速度会比你自己的规范要慢,但是从调试以及团队开发来看,这些规范能够大大提高程序的调试以及维护的效率,而且更加适合团队开发。
- 我是个艺术家,手艺人,我有自己的规范和原则。
我反驳这个观点,首先即使你是一个艺术家,手艺人,你能创造出一个属于自己的规范和原则,然而在成千上万的程序员面前你只是小小的一个,他们之间也会有更多的艺术家、手艺人,你自己一个人的见解必然比不上众人合起来的见解。而且在如今这个时代,开发程序都是团队开发,如果没有一个标准的代码规范,大家搜只是用自己的规范和原则,那么程序员之间的合作就会变得十分困难,开发的效率也会大大降低。而有了标准的规范,大家按照统一的代码规范来写代码,那么团队的开发效率就会有很大的提升。
- 规范不能强求一律,应该允许很多例外。
我支持这个观点,规范是死的,人是活的,在某些特殊的时候约定的规范不一定适用,这个时候就需要做一些灵活的变通以适应当前特定的场景,规范的作用在于能够让我们的开发更加有效率而不是一个强制的规定。但在绝大多数的情况下规范是适用的。
- 我擅长制定编码规范,你们听我的就好了。
我反驳这个观点,你说你擅长制定编码规范,那我可以说,大家都可以说自己擅长制定编码规范,凭什么要听你的呢?所以规范的制定不是某一个人说了算的,而是需要大家一起商量制定,集思广益才能够制定出更好的规范,才能适应于更多的开发者。
二、代码复审
General
- Does the code work? Does it perform its intended function, the logic is correct etc.
这个代码能够正确运行,它能够执行生成四则运算题目和计算四则运算表达式,它的逻辑也是正确的。
- Is all the code easily understood?
这个工程使用了C#语言,代码结构清晰,方法命名和变量命名都是有意义的命名,且代码中难点都有足够的注释,所以代码是易懂的。
- Does it conform to your agreed coding conventions? These will usually cover location of braces, variable and function names, line length,
代码基本符合规定的编码约定,但是有一点不足的是部分代码一行过长,屏幕显示不下来,应该分成两行。
- s there any redundant or duplicate code?
代码结构紧凑,几乎没有多余代码,且方法较多,一般使用地方比较多的代码都写成了函数,所以代码重复比较少。
- Is the code as modular as possible?
代码定义了主类、数字类、表达式类和计算类,故代码是尽可能模块化。
- Can any global variables be replaced?
代码没有全局变量,只有类属性,且都是私有的。
- Is there any commented out code?
没有。
- Do loops have a set length and correct termination conditions?
代码的循环有设定的长度和正确的终止条件。
- Can any of the code be replaced with library functions?
没有。
- Can any logging or debugging code be removed?
没有日志和调试代码。
Security
- Are all data inputs checked (for the correct type, length, format, and range) and encoded?
几乎没有检查。
- Where third-party utilities are used, are returning errors being caught?
没有使用第三方代码。
- Are output values checked and encoded?
没有。
- Are invalid parameter values handled?
没有。
Documentation
- Do comments exist and describe the intent of the code?
有注释说明代码意图。
- Are all functions commented?
几乎所有方法都有注释。
- Is any unusual behavior or edge-case handling described?
没有描述。
- Is the use and function of third-party libraries documented?
未使用第三方代码。
- Are data structures and units of measurement explained?
解释了。
- Is there any incomplete code? If so, should it be removed or flagged with a suitable marker like ‘TODO’?
没有不完整代码。
Testing
- Is the code testable? i.e. don’t add too many or hide dependencies, unable to initialize objects, test frameworks can use methods etc.
代码可测试,几乎没有太多或者隐藏依赖关系,没有不能初始化的对象。
- Do tests exist and are they comprehensive? i.e. has at least your agreed on code coverage.
测试存在,但是不够全面。
- Do unit tests actually test that the code is performing the intended functionality?
是。
- Are arrays checked for ‘out-of-bound’ errors?
未检查。
- Could any test code be replaced with the use of an existing API?
不存在现有的API能取代测试代码。
个人博客作业Week2的更多相关文章
- 个人博客作业week2——代码复审
1.代码规范 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 代码规范并不是从官僚制度下产生,它是为了提高项目团队开发效率而产生的一种工具,能够极大的增强代码可读 ...
- 个人博客作业Week2 是否需要有代码规范
问题:是否需要有代码规范 对于是否需要有代码规范,请考虑下列论点并反驳/支持: 1.这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 2.我是个艺术家,手艺人,我有 ...
- 个人博客作业Week2(代码规范,代码复审)
Q:是否需要有代码规范 首先我们来搞清楚什么是“代码规范”,它和“代码风格”又有什么关系.依据个人的审美角度,我可能更喜欢在函数与函数之间空出一行,可能在命名习惯和代码注释上更加的internatio ...
- 团队博客作业Week2 --- 学长学姐访谈录
## 团队作业2 ## ### 团队一 ### 这个团队中组员是位研一的学姐,她的软件工程老师是姚淑珍,当时她们团队总共有4个人,而且她们都很努力,但是可能是最后团队的作品不太理想,她们的软件并没有上 ...
- 个人博客作业-Week2 (代码规范, 代码复审)
代码规范: 1.这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 编码规范它包含了代码格式,还包括了编码风格和其他规范,通常涉及:缩进.空格使用.Tab使用 注释. ...
- 软工个人作业-博客作业-WEEK2
1.是否需要代码规范: (1)这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 首先来说,从短期上和个体上来看,一个团队的代码风格必然会在一定程 ...
- #个人博客作业week2——结对编程伙伴代码复审
General 1.程序能够顺利地运行.程序通过命令行输入,能够向对应的文件中输出符合要求的题目和答案.程序能够根据用户的不同选择,进行题目的生产或答案的校验,生成出的题目符合参数要求和项目的查重等各 ...
- #个人博客作业week2——关于代码规范的个人观点
对于这一讨论的前提我们首先要知道什么是代码规范. 在这个问题上我同意一篇参考文章的观点——代码规范不仅只编码风格.编码风格仅是代码规范的一个方面,除了编码风格,代码规范还包括函数返回值等其他方面.在我 ...
- #个人博客作业Week2——关于代码规范的讨论
<1> 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 反驳:官僚制度在一定程度下维持了社会的和谐稳定,一个没有法律.没有拥有完善的管理体制.完全崇尚 ...
随机推荐
- Leetcode: Circular Array Loop
You are given an array of positive and negative integers. If a number n at an index is positive, the ...
- Android 自定义view (一)——attr 理解
前言: 自定义view是android自定义控件的核心之一,那么在学习自定义view之前,我们先来了解下自定义view的自定义属性的attr的用法吧 Android attr 是什么 (1)attr ...
- Select2个人使用总结
最近项目有功能需要使用列表选多个用户,老夫偷懒使用zTree进行了多级checktree实现,不过貌似太丑,虽然对于我这种后端来说无所谓,但强迫症还是让我寻找其他代替控件. 闲话不说了,先上Selec ...
- [Android] 修改ImageView的图片颜色
有两种方法: 方法1: ImageView imageView = (ImageView) findViewById(R.id.arrow_image); Drawable tipsArrow = i ...
- cocos2dx打包apk
一.相关工具准备 1.SDK 2.NDK 3.ANT 4.JDK 并且搭建好JDK环境 二.搭建环境 1.打开cocos2dx目录下的setup.py文件 2.如图所示,按照提示分别输入之前下载的ND ...
- [译]Dynamics AX 2012 R2 BI系列-规划分析的注意事项
https://msdn.microsoft.com/en-us/library/gg731898.aspx 在开始实施AX的分析特性前,有很多事情要考虑.本文描述了你必须考虑的事情,和在 ...
- UI图标资源搜索
下面这些网站可以搜索图标资源,方面界面制作: 分享下http://www.tutorialcadet.com/20-user-interface-icon-sets-for-developers/下面 ...
- libevent源码分析:event_assign、event_new
在libevent中,获取event类型对象的方法有两种,event_assign.event_new 1.event_assign() /** Prepare a new, already-allo ...
- 【Spring】简单的Spring AOP注解示例
引入相关包: <properties> <spring.version>3.0.5.RELEASE</spring.version> <aspectj.ver ...
- C#利用HttpWebRequest进行post请求的示例(HTTPS)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...