个人博客作业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> 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 反驳:官僚制度在一定程度下维持了社会的和谐稳定,一个没有法律.没有拥有完善的管理体制.完全崇尚 ...
随机推荐
- linux---------------centos6.4安装完了以后敲ifconfig,没有局域网ip。解决如下
1.vim /etc/sysconfig/network-scripts/ifcfg-eth0 进入linux然后进入这个文件里面如下: DEVICE=eth0HWADDR=00:0C:29:92:F ...
- swift基础:第三部分:对第一部分的补充说明
今天是我学习swift的第二天,虽然我和swift的距离有点远,但我相信,我会慢慢的接近这门语言的.好了,我们聊聊昨天晚上的事吧,昨天晚上下班早,回到家时,真是惊喜哈,宿舍那两做好了饭,等我吃饭,想对 ...
- C#先序遍历2叉树(非递归)
找了下先序遍历二叉树C# 实现貌似没有 顺手些了一个 大致思路是: 传入根节点,然后依次循环其子节点推入到栈中, 当推入的节点没有子节点的时候(叶子)或者所有子节点均已经遍历过后(上一次遍历的节点是该 ...
- 【C#】时间戳转换
今天有时间戳转换的需求,网上找了半天才找到相关代码,经测试有效,特作此笔记和大家分享! 1.时间戳转为C#格式时间 /// <summary> /// 时间戳转为C#格式时间 /// &l ...
- 获取当前正在执行的Javascript脚本文件的路径
获取当前JavaScript脚本文件的路径,在特定场景下可能需要,比如写模块加载器,或者进行日志记录.下面这段脚本适用于所有浏览器来获取正在执行js文件的路径,但是该方法只适用于脚本加载过程中执行的情 ...
- android开发中难免遇到listview刷新数据出现异常
异常:java.lang.IllegalStateException: The content of the adapter has changed but ListView did not rece ...
- Redmine性能测试
Redmine部署使用有一个月了,反馈有时很慢. 1.查看log发现,事务更新后要发送Email,如果连接邮件服务器有问题,会等待超时,导致很慢. 2.解决发送邮件问题后,仍然有时慢,ActiveRe ...
- Linux命令的返回码列表
转自:http://blog.chinaunix.net/uid-10347480-id-3263127.html 在 Linux 下,不管你是启动一个桌面程序也好,还是在控制台下运行命令,所有的程序 ...
- CSS3 笔记四(Transforms/Transition/Animations)
CSS3 2D Transforms Methods translate() rotate() scale() skewX() skewY() matrix() 1> translate() T ...
- 山东省第七届ACM省赛------Triple Nim
Triple Nim Time Limit: 2000MS Memory limit: 65536K 题目描述 Alice and Bob are always playing all kinds o ...