Week3_代码复审

软件工程师的成长

一口气看完了十多篇的博客,心里的感觉五味陈杂。既有对未来道路的憧憬,也有对自己目前水平的无力感,与那些在这个领域打拼十几年甚至几十年的前辈相比,我不过也就是刚刚迈过行业门槛一条腿而已,前路尚长。

这么多的博客,也许关键词就是两个:热爱并且坚持、积累知识以及职业规划

一、热爱并且坚持

这些博主们,无论起点高低,只要最终功成名就的,都有一个共同点就是对计算机的热爱以及坚持。他们对于技术的坚持让我触动:这些人里,有的即使老师毫不靠谱上课讲的全无用处也可以坚持自己学习;有的人从小学就开始了专业学习然后一路遥遥领先;有的身处英文专业还能坚持对于计算机的热爱。

与他们之中的有些人相比,我算是幸运的,虽然没有从小身处那样专业的环境里面,也许一定程度上算是落后吧,但至少我是科班出身,不用忍受所谓的“针对野路子的歧视”,至少不也用每天绞尽脑汁跑到老师那里才能用上电脑。而且我也对技术拥有同样的热情。

不过这也不代表光有热情对我就够了,有一篇文章的备注是“光口头上说 “热爱” 是远远不够的”,虽然这篇文章并不能打开,但是仅仅是标题就足以触动我,某种程度上来说,我就是那种说的比做的多的人,总会想的很好,落实起来则经常会有较大的困难。同样,他们也给我了解决办法,那就是坚持,也许当我迷茫的时候,坚持做下去会是比原地等待迷茫思考更正确的选择吧。

二、积累知识

这一点是很多篇文章都专门强调的内容,基础知识十分重要,并且读书非常的有用,即使上课觉得没有用,也不要就让时间白白浪费掉。就算上课有用,覆盖面也不会太广,教科书之外的东西也没有人教,正所谓“师傅领进门,修行在个人”这一点其实我早就有所意识到了,单也仅仅停留在意识到的层面而已。知道各种竞赛很锻炼人,直到有些书非常好应该读一读,但是落实下去则有很大的困难。想想总是比做做更加的轻松。这一点也应该是我接下来所要改善的重点的重点。

三、职业规划

成功的人无外乎都有清晰的职业规划,即使与自己当前的环境相矛盾,但仍然有清晰的前进方向,这一点也是我需要学习的。例如那个英文专业的前辈,身处英文的环境,英文对他来说也不过是用来更好的学习计算机的途径而已,这一点是让人相当佩服的。而且软实力也是被强调了很多次。并且。未来我们不应该追求工资,职位,而应该追求能力以及经历,工资以及职位不过是它们的附属品。

 

我呢,虽然蛮早就有了对于计算机的兴趣,但是真正入门也是在大学才刚刚开始。进入大学以来,眼界可以说是得到了极大的提升,很多周围的人和事不断的刺激着我,让我渐渐有了野心,有了梦想,总想着自己有一天也会成为多么牛逼的人物。虽然有着看似伟大的抱负,但却有心无力,实力支撑不起梦想。与周围的技术大牛们相比,我的火候差的还远。对我来说,无论是哪个方面,周围都可以找到在那个方面碾压我的人,无力感对我来说一点不陌生。既然不能放弃,那么脚踏实地的努力提升自己的实力才是我现在阶段最应该做的事情。

未来希望以技术起家,拥有很厉害很厉害的技术,而且不仅仅是技术,其他方面也可以很厉害,以后可以拥有自己的事业。现在所做的事也都基本上是以这个为目的的。

 

 

代码复审:

复审对象:谢振威

Code Review Checklist

General

Does the code work? Does it perform its intended function, the logic is correct etc.
是的,基本功能都已经实现,并且采用了面向对象的思路设计,已经经过之前的20个测试样例的测试

Is all the code easily understood?
是的

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.
基本符合,一些变量名的命名习惯与我不太一样但是都比较好理解

Is 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?
没有,两个函数的返回值都是void

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’?
代码都已经完成,所以也不需要标注”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?
没有测试

posted @ 2016-10-01 23:44  MurryK  阅读(218)  评论(0编辑  收藏  举报