Week3_代码复审
软件工程师的成长
一口气看完了十多篇的博客,心里的感觉五味陈杂。既有对未来道路的憧憬,也有对自己目前水平的无力感,与那些在这个领域打拼十几年甚至几十年的前辈相比,我不过也就是刚刚迈过行业门槛一条腿而已,前路尚长。
这么多的博客,也许关键词就是两个:热爱并且坚持、积累知识以及职业规划
一、热爱并且坚持
这些博主们,无论起点高低,只要最终功成名就的,都有一个共同点就是对计算机的热爱以及坚持。他们对于技术的坚持让我触动:这些人里,有的即使老师毫不靠谱上课讲的全无用处也可以坚持自己学习;有的人从小学就开始了专业学习然后一路遥遥领先;有的身处英文专业还能坚持对于计算机的热爱。
与他们之中的有些人相比,我算是幸运的,虽然没有从小身处那样专业的环境里面,也许一定程度上算是落后吧,但至少我是科班出身,不用忍受所谓的“针对野路子的歧视”,至少不也用每天绞尽脑汁跑到老师那里才能用上电脑。而且我也对技术拥有同样的热情。
不过这也不代表光有热情对我就够了,有一篇文章的备注是“光口头上说 “热爱” 是远远不够的”,虽然这篇文章并不能打开,但是仅仅是标题就足以触动我,某种程度上来说,我就是那种说的比做的多的人,总会想的很好,落实起来则经常会有较大的困难。同样,他们也给我了解决办法,那就是坚持,也许当我迷茫的时候,坚持做下去会是比原地等待迷茫思考更正确的选择吧。
二、积累知识
这一点是很多篇文章都专门强调的内容,基础知识十分重要,并且读书非常的有用,即使上课觉得没有用,也不要就让时间白白浪费掉。就算上课有用,覆盖面也不会太广,教科书之外的东西也没有人教,正所谓“师傅领进门,修行在个人”这一点其实我早就有所意识到了,单也仅仅停留在意识到的层面而已。知道各种竞赛很锻炼人,直到有些书非常好应该读一读,但是落实下去则有很大的困难。想想总是比做做更加的轻松。这一点也应该是我接下来所要改善的重点的重点。
三、职业规划
成功的人无外乎都有清晰的职业规划,即使与自己当前的环境相矛盾,但仍然有清晰的前进方向,这一点也是我需要学习的。例如那个英文专业的前辈,身处英文的环境,英文对他来说也不过是用来更好的学习计算机的途径而已,这一点是让人相当佩服的。而且软实力也是被强调了很多次。并且。未来我们不应该追求工资,职位,而应该追求能力以及经历,工资以及职位不过是它们的附属品。
我呢,虽然蛮早就有了对于计算机的兴趣,但是真正入门也是在大学才刚刚开始。进入大学以来,眼界可以说是得到了极大的提升,很多周围的人和事不断的刺激着我,让我渐渐有了野心,有了梦想,总想着自己有一天也会成为多么牛逼的人物。虽然有着看似伟大的抱负,但却有心无力,实力支撑不起梦想。与周围的技术大牛们相比,我的火候差的还远。对我来说,无论是哪个方面,周围都可以找到在那个方面碾压我的人,无力感对我来说一点不陌生。既然不能放弃,那么脚踏实地的努力提升自己的实力才是我现在阶段最应该做的事情。
未来希望以技术起家,拥有很厉害很厉害的技术,而且不仅仅是技术,其他方面也可以很厉害,以后可以拥有自己的事业。现在所做的事也都基本上是以这个为目的的。
代码复审:
复审对象:谢振威
Code Review Checklist
General
l Does the code work? Does it perform its intended function, the logic is correct etc.
是的,基本功能都已经实现,并且采用了面向对象的思路设计,已经经过之前的20个测试样例的测试
l Is all the code easily understood?
是的
l Does it conform to your agreed coding
conventions? These will usually cover location of braces, variable and function
names, line length, indentations, formatting, and comments.
基本符合,一些变量名的命名习惯与我不太一样但是都比较好理解
l Is there any redundant or duplicate code?
没有
l Is the code as modular as possible?
使得
l Can any global variables be replaced?
有三个全局变量,可以通过参数形式传递以取消全局变量
l Is there any commented out code?
没有注释,只有一些被注释掉的废弃代码
l Do loops have a set length and correct
termination conditions?
使得
l Can any of the code be replaced with library
functions?
没有,所有的功能都是自己实现的
l Can any logging or debugging code be removed?
没有
Security
l Are all data inputs checked (for the correct
type, length, format, and range) and encoded?
没有,函数输入没有检查,错误的输入有可能导致崩溃
l Where third-party utilities are used, are
returning errors being caught?
没有
l Are output values checked and encoded?
没有,两个函数的返回值都是void
l Are invalid parameter values handled?
有,命令行参数可以处理错误形式
Documentation
l Do comments exist and describe the intent of
the code?
有文件,主要说明了地图格式,没有对于整个软件使用的说明
l Are all functions commented?
没有
l Is any unusual behavior or edge-case handling
described?
缺失
l Is the use and function of third-party
libraries documented?
没有记录
l Are data structures and units of measurement
explained?
没有
l Is there any incomplete code? If so, should it
be removed or flagged with a suitable marker like ‘TODO’?
代码都已经完成,所以也不需要标注”TODO”
Testing
l Is the code testable? i.e. don’t add too many
or hide dependencies, unable to initialize objects, test frameworks can use
methods etc.
是可以测试的,整个代码被封装起来了
l Do tests exist and are they comprehensive? i.e.
has at least your agreed on code coverage.
没有测试,所以不完整
l Do unit tests actually test that the code is
performing the intended functionality?
没有单元测试
l Are arrays checked for ‘out-of-bound’ errors?
没有
l Could any test code be replaced with the use of
an existing API?
没有测试
Week3_代码复审的更多相关文章
- 个人作业week3——代码复审
1. 软件工程师的成长 感想 看了这么多博客,收获颇丰.一方面是对大牛们的计算机之路有了一定的了解,另一方面还是态度最重要,或者说用不用功最重要.这些博客里好些都是九几年或者零几年就开始学习编 ...
- 结对项目:代码复审+PSP
一.代码复审 首先我从代码风格规范和程序修改两方面进行审查. (一)代码风格规范修改 1 . 代码的部分未缩进:在用markdown粘贴代码时,需要后期tab,无形中加大工作量. 2 . ...
- 作业三: 代码规范、代码复审、PSP
分) 对于是否需要有代码规范,请考虑下列论点并反驳/支持: 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 我是个艺术家,手艺人,我有自己的规范和原则. 规范不能 ...
- 个人博客作业week2——代码复审
1.代码规范 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 代码规范并不是从官僚制度下产生,它是为了提高项目团队开发效率而产生的一种工具,能够极大的增强代码可读 ...
- 作业三:代码规范、代码复审、PSP
一.代码规范 我认为我们编写的代码都需要进行规范的操作,因为如果为了图省事情或者为了减少时间去完成这个编程.在最后检验的时候就会出现一些警告,导致你这次编程的代码出现问题,当出现问题的时候你在回头去检 ...
- 作业三(代码规范、代码复审、PSP)
1.代码规范: 我支持代码要有规范,理由如下. (1).艺术是一个很带有个人风格的学科,天马行空才能凸显出自己的价值.但不要忘了,会艺术的不是生下来就会艺术, 他也需要按照前辈的步骤一步一步的学习基础 ...
- 代码规范、代码复审、PSP
作业三: 代码规范.代码复审.PSP 代码规范 代码规范的重要性 一.规范的代码可以促进团队合作 一个项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异.且不说会存 ...
- 作业三 代码规范 代码复审 PSP
1.是否需要有代码规范(5分) 对于是否需要有代码规范,请考虑下列论点并反驳/支持: 1这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 反对.我并不认为代码规范都 ...
- Week3 博客阅读感想和代码复审
一.关于博客阅读感想 阅读了十多篇老程序员(大多在计算机相关行业工作超过10年)关于自身经历的博客,很有感触.这里一方面总结一下看博客的收获,另一方面写点自己的感受. 首先,这些博客不少涉及到了两大类 ...
随机推荐
- Dubbo -- 系统学习 笔记 -- 配置
Dubbo -- 系统学习 笔记 -- 目录 配置 Xml配置 属性配置 注解配置 API配置 配置 Xml配置 配置项说明 :详细配置项,请参见:配置参考手册 API使用说明 : 如果不想使用Spr ...
- Python2.7-difflib
difflib主要用于比较两个序列的不同,常见于字符串的比较,可以对差异生成报告.SequenceMatcher 主要用于找两者相似部分,以及两者不同的转换方法,而 Differ 更注重于比较两者的区 ...
- JAVA框架 json数据交互
一.导入依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId& ...
- 浅谈 DNS
一.DNS(Domain Name System,域名系统) 概念:万维网(WWW是环球信息网的缩写,亦作“Web”.“WWW”.“'W3'”,英文全称为“World Wide Web”),作为域名和 ...
- Ubuntu安装Chromium浏览器
今天介绍一下谷歌浏览器在ubuntu 系统环境下的安装步骤,1.在终端的窗口上输入: sudo wget http://www.linuxidc.com/files/repo/google-chrom ...
- PRML1-引言
本系列是根据<pattern recognition and machine learning>一书写的,算是读书笔记?算是吧.因为是从自己角度出发,所以其实很大程度上自己看得懂,估计别人 ...
- CAN总线学习总结——错误帧和错误状态
CAN总线学习总结——错误帧和错误状态 标签: 数据 / 错误帧 / 错误状态 / CAN总线 / 总线协议 253 一.五种CAN总线可能发生的错误 1.CRC错误: 接收节点计算出的CRC校验值, ...
- TensorFlow入门
Win10下pycharm安装tensorflow: 1.安装git,这样就会有windows powerShell 2.安装python3.x,配置环境变量 3.安装pip,下载地址是:https: ...
- JS设置cookie、读取cookie、删除cookie(转载)
JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的.而cookie是运行在客户端的,所以可以用JS来设置cookie.假设有这样一种情 ...
- 一键安装Docker图形化管理界面-Shipyard
Shipyard是一款开源的图形化的Docker管理工具,记得以前安装很麻烦的,现在官方有了自动安装脚本,使用非常方便.复制.粘贴.使用,就这么简单.先不研究他是如何实现的,安装使用起来再说. $ c ...