个人博客作业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> 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 反驳:官僚制度在一定程度下维持了社会的和谐稳定,一个没有法律.没有拥有完善的管理体制.完全崇尚 ...
随机推荐
- iar调试
我们可以自己建立自己的工程了,但这一步只是开发中的第一小步.今天就来说说开发中举足轻重的另外一件事:调试. 其实调试本身也并不难,楼主总结,调试关键在于两件事,一是运行,二是观察,为了更好的实现这两者 ...
- Android系统拍照源码
个人对于Android系统拍照的一些总结:一种自定义图片拍照路径 ,另一种直接利用Android拍照后经过处理的缩略图 特别注意第一种方式需要增加SDK读写权限: <uses-permissio ...
- XiangBai——【AAAI2017】TextBoxes_A Fast Text Detector with a Single Deep Neural Network
XiangBai--[AAAI2017]TextBoxes:A Fast Text Detector with a Single Deep Neural Network 目录 作者和相关链接 方法概括 ...
- net core 控制台中文乱码的解决方案
net core 对控制台中文的支持需要加入下面的语句 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
- 卸载Centos自带open-jdk
1.rpm查看安装文件 rpm -qa|grep java 2,切换到root用户,卸载 rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.75-2. ...
- 227 Entering Passive Mode (xxx,xxx,,xxx,xxx,x)
登录ftp时显示227 Entering Passive Mode (xxx,xxx,,xxx,xxx,x) 因为FTP有两种工作模式,PORT方式和PASV方式,中文意思为主动式和被动式 ,详细介绍 ...
- BabelMap 9.0.0.3 汉化版(2016年12月27日更新)
软件简介 BabelMap 是一个免费的字体映射表工具,可辅助使用<汉字速查>程序. 该软件可使用系统上安装的所有字体浏览 Unicode 中的十万个字符,还带有拼音及部首检字法,适合文献 ...
- 自定义指令-directive (转)
1.指令作用域中的@ 作用是把当前属性作为字符串传递. 前台代码: <div ng-controller="MyCtrl"> <drink water ...
- Window Azure ServiceBus Messaging消息队列技术系列1-基本概念和架构
前段时间研究了Window Azure ServiceBus Messaging消息队列技术,搞了很多技术研究和代码验证,最近准备总结一下,分享给大家. 首先,Windows Azure提供了两种类型 ...
- windows下使用火狐浏览器插件AutoProxy+MyEnTunnel+SSH访问海外站点(转)
windows下使用火狐浏览器插件AutoProxy+MyEnTunnel+SSH访问海外站点 平时需要查阅一些技术资料,光走VPN太浪费流量,所以这儿教大家一种使用火狐浏览器的插件 AutoPr ...