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年)关于自身经历的博客,很有感触.这里一方面总结一下看博客的收获,另一方面写点自己的感受. 首先,这些博客不少涉及到了两大类 ...
随机推荐
- BZOJ4401:块的计数(乱搞)
Description 小Y最近从同学那里听说了一个十分牛B的高级数据结构——块状树.听说这种数据结构能在sqrt(N)的时间内维护树上的各种信息,十分的高效.当然,无聊的小Y对这种事情毫无兴趣,只是 ...
- linux 的常用命令---------第十阶段
虚拟机三种网络模式 相同模式下的各个虚拟机之间都可以通信----两台虚拟机若都是 nat模式 或 桥接模式 或 仅主机模式,则这两台虚拟机之间是可以通信的. 桥接模式: (配置桥接模式的虚拟机可作为独 ...
- day1-课堂代码
# # a = 1 # b = a # print(b) # # c = a + 1 # print(c) # # def add(x,y): # return x+y # # d = add(3,5 ...
- Python2.7-Queue
Queue 模块,python3中为queue,一般和threading模块同时使用,用于处理多任务队列,模块定义了3种队列类,先进先出(FIFO),后进先出(LIFO),优先级队列 Queue.Qu ...
- jsp泛型支持
今天在使用idea做练习时,某个jsp页面报错如下: '<>'operator is not allowed for source level below 1.7 出错代码如下: Map& ...
- Windows/Linux获取当前运行程序的绝对路径
windows 获取当前运行程序的绝对路径(.exe) GetModuleFileNameA()函数获取绝对路径,不过文件路径中的反斜杠需要进行替换. ]; GetModuleFileNameA(NU ...
- 模板自定义函数 template function
sqlite3中的日期默认是UTC,当日期字段的默认值是CURRENT_TIMESTAMP时,这个日期和北京时间CST少了8小时. 网上建议说数据库里用UTC,读取数据时再转换为当地时间. web页面 ...
- .NET Core 对象到字节数组的序列化和反序列化
.NET Core中利用MemoryStream和BinaryFormatter可以实现对象到字节数组的序列化和反序列化: 定义ObjectSerializer类,实现对象到字节数组的序列化和反序列化 ...
- kettle学习笔记(六)——kettle转换步骤
一.概述 转换步骤分类: 1. 增加新的列 2. 字符串处理 3. 行列变换 4. 排序/排重/字段选择 5. 其他转换步骤 二.增加新的列 1.增加常量列 增加一列常量的列 其它增加列的操作大同小异 ...
- 20155224 聂小益 《基于Arm实验箱的接口测试和应用》 课程设计报告
一.设计方案及可行性分析 熟悉 Linux 开发环境 多线程应用程序设计 串行端口程序设计 中断实验 二.详细设计思路 1. 熟悉 Linux 开发环境 建立工作目录: 在终端输入代码建立工作目录 [ ...