1、软件工程师的成长

  拜读了多位优秀前辈的文章后,感觉十分复杂,虽然说不上是醍醐灌顶的那种大彻大悟,但是确实的感觉到自己内心中某个部分被真切的感触到了。推荐的文章语言都比较平易近人,感觉就像是和多年未见的学长一起谈话一样,一边感叹着几年里变化之大,一边分享着自己的职业体悟,让人听完之后有感悟也有感动。

  总结了一下各个文章表达出的重点,大概为以下三部分:1、兴趣和热情。2、读书和自学。3、职业规划。

  这三者间相互关联,相互作用,就像三角形的三个顶点一样,既能相互支撑整体的完整性,也可能相互制约彼此的发展,我想依次说一下自己对这三部分的体悟。

 一、兴趣和热情

  兴趣能让人开始研究一门学问,而热情决定了是否能在这门学问上持续性的投入时间和精力,将这门学问研究下去,学精学深。

  文章中的前辈或者是从小便对计算机某个小的领域充满了兴趣,去开始学习研究,或者是阅读了某些专业领域名家的著作,由此产生了浓厚的好奇心与求知欲,开启了学习计算机知识的征途。在这方面,给我印象深刻的是徐宥的文章(他的那篇文章我特别喜欢,来来回回看了好几遍,平时觉得累了努力不下去了就拿出来看看),因为我觉得他的经历是我可以用来借鉴的,但又有一些不同。他在大学之前对计算机的知识了解的不多,在大一和大二没有培养起浓厚的兴趣,在大三阅读了一些计算机专业的名著后,开始了读书和实践之间循环,培养起了浓厚的兴趣。我觉得在兴趣这一方面,我确实不够热衷于计算机专业,在高考时因为自己没有特别强烈的专业意向,所以在家人和老师的推荐下,选择了计算机专业,当时感觉挺意外的,因为高中的自己对计算机不是很感兴趣,感觉就当是平平常常的学习知识了。上了大学以后,大一感觉学的知识中规中矩,以理论课和数理分析为主,感觉还是安安心心的学习知识就可以了。到了大二感觉自己对这个专业的态度发生了一定的变化,对我影响最大的是计算机组成这门课,这门课不仅教授了我关于计算机组成原理的知识,更让我觉得计算机真的有意思,在真正切身去实现CPU内部运算的过程中,能感受到代码像自己亲手培养的孩子一样一点一点强大健壮起来,这种成就感和欣喜感让我很喜欢。之后面向对象课程也让我的编程能力有所提升。

  但是从上学期期末开始,稍微对代码的兴趣不是那么高了,感觉有一点疲倦,这种状态持续到了这学期开学,我自知这种状态很不好,也想了很多办法但还是没能摆脱掉,再看了这些文章之后,也找来了其中提到的书《编程珠玑》等等来阅读,感觉自己有点找回之前的状态能够继续对所学知识保持好奇并且渴求的状态。我打算继续尝试文章中推荐的方法,其中最重要的一个方式就是去多读书。

二、读书和自学

  几乎每篇文章都提到了作者曾经有过一段按照自己的节奏自学的方式,自学的手段大多是读书,有些作者多次强调自己曾经拼命读书,也很重点的推荐读者多读一些好书,多读原版书。所谓见到篮子里的都是菜,多读书积累知识,扩展知识面终归是好的。

  读书上我做的真的不如高中,高中时期再怎么忙也能一周读一本书看,到了大学反而没能保持下来这个习惯,导致这两年看的书越来越少。看了这些文章之后,我觉得读书是自学一个重要的途径,应该重新拾起这个技能的。

  目前打算是先把文章中推荐的书目看一看,然后根据喜欢的领域去选择书去读。

三、职业规划

  说实话现在突然让我把未来职业的规划都定下来是说不出来的,文章中的人也是边摸索边决定下一步计划,我的短期内的计划是在北航读研,至于之后是否读博士,感觉可能要在读研的过程中决定这个问题了。

  在大三,短期的目标就是在保证学业的前提下,多阅读专业相关书目,开拓知识面,寻找自己真正感兴趣的领域,并对此进行一番研究。

2、代码复审

复审对象:14061041 谷大鑫

测试:

  • Does the code work? Does it perform its intended function, the logic is correct etc.
  • 可以运行,测试了包括-b -c 和输入地铁名功能
  • -b测试数据如下:
  • 2号航站楼 苹果园
  • 苹果园 四惠
  • 苹果园 大望路
  • 知春路 北京西站
  • 2号航站楼 3号航站楼
  • 3号航站楼 2号航站楼
  • -c测试数据如下:
  • 2号航站楼 苹果园
  • 知春路 北京西站
  • 苹果园 知春路
  • 知春路 建国门
  • 输入地铁名测试数据如下:
  • 地铁一号线
  • 地体二号线

  -b 和 -c 功能上应该没什么问题,在输入地铁名,返回全线路径这个功能在输入地铁名字前,会输出“Input Parameter Error”的报错,而这条是不必要的。

  • 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?
  • 没有。
  • 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’?
  • -a部分的功能待定,其他部分代码完整。

    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?
  • 不能。

转载于:https://www.cnblogs.com/R-81/p/5924447.html

个人作业——week3相关推荐

  1. [buaa-SE-2017]个人作业-week3

    个人作业-week3:案例分析 分析产品:Bing词典 Part1:调研&评测 1.软件评测和Bug汇报 这次我选择Bing词典的原因是在于,首先我使用过的词典软件较多,平台涵盖PC端.网站. ...

  2. [软件工程基础]团队作业Week3

    团队介绍 团队名:弗朗明哥舞步 团队角色 开发:杨艺媛,易子沐,赵晓宇,夏欣怡 测试:张华杰 PM:刘斯盾 刘斯盾 我是刘斯盾,喜欢编程,喜欢运动!很高兴和大家一起开发这个项目! 杨艺媛 我叫杨艺媛, ...

  3. 个人博客作业Week3

    关于 微软必应词典客户端 的案例分析 第一部分  调研,评测 Bug1:Android上的必应词典长句翻译功能并不完善,"长句翻译"这个功能实现的不够智能,将翻译之后的句子再用该软 ...

  4. 个人作业-Week3

    1.软件工程师的成长 相比于上述博客中提到的成功人士,我的经历相对浅薄一些. 在上大学之前,在我的印象中,电脑=游戏机,身旁许多同学因为去网吧玩电脑而被批评,指责,即使是在学校的微机课上,留给我印象最 ...

  5. 个人博客作业week3——案例分析

    1.调研 & 评测 1.我的用户体验 win10应用版: Bug1:例句经过翻译与其给出的译文相差太多 上图是应用给出的每日一句及其译文. 将其复制入翻译,就可以看出翻译过后的句子一点也不通顺 ...

  6. 个人博客作业Week3(微软必应词典客户端的案例分析)

    软件缺陷常常又被叫做Bug,即为计算机软件或程序中存在的某种破坏正常运行能力的问题.错误,或者隐藏的功能缺陷.缺陷的存在会导致软件产品在某种程度上不能满足用户的需要.IEEE729-1983对缺陷有一 ...

  7. 昇腾CANN训练营-应用营第二期-第三课作业流程记录

    课程及作业地址:ascend_camp: CANN训练营第二期-应用营 (gitee.com) 一.基本作业 1.在上节课申请的镜像环境中,安装opencv-python,并进入python3,输入i ...

  8. [渝粤教育] 四川农业大学 Java程序设计 参考 资料

    教育 -Java程序设计-章节资料考试资料-四川农业大学[] Week1 测试 1.[单选题]Java的三大平台不包括 A.JavaSE B.JavaEE C.JavaME D.Android 参考资 ...

  9. deeplearning.ai课程作业:Recurrent Neural Networks- Course 5 Week3

    deeplearning.ai课程作业:Recurrent Neural Networks- Course 5 Week3 Part 1 Neural Machine Translation Welc ...

最新文章

  1. 福建农林大学朱方捷组招聘讲师/副教授/助理——生信分析方向
  2. adc量化单位_单片机外围模块漫谈之二,如何提高ADC转换精度
  3. 你还在担任“消防队员”的角色么?
  4. 如何在Java中使用表达式_如何在java中计算表达式?
  5. asterisk配置会议室meetme.conf
  6. MATLAB转化彩色图片为灰度图片命令行窗口代码:
  7. 定制10kV变压器感应雷直击雷击变压器加避雷器atp-emtp模型
  8. POI导出echarts统计报表到Excel
  9. 2020apple教育优惠购买策略
  10. 51单片机usb烧录电路_51单片机怎么用usb烧写程序
  11. 常用坐标系汇总(更新)
  12. 我国的5年计划与软件项目计划-滚动计划
  13. 不对齐 谷歌浏览器_谷歌浏览器input上下不对齐兼容解决办法
  14. 分享淘宝的IP地址库查询接口
  15. 排球比赛计分程序功能说明书
  16. zabbix调用sendsms.py脚本,发送短信
  17. Cisco ISE AAA认证
  18. Delphi 7完美经典_PDF 电子书
  19. 关于百度快照问题的若干说明
  20. 暗夜精灵5安装Manjaro 18.1.0 Juhraya

热门文章

  1. 【数学建模】数模day13-灰色系统理论I-灰色关联与GM(1,1)预测
  2. Java反射机制的适用场景及其利与弊 ***
  3. 大型架构服务器要几台
  4. Python操作Excel表格
  5. [2017BUAA软工]结对项目:数独扩展
  6. memcache的深度解析(转)
  7. WCF常见问题及解决方案
  8. C# ASP.NET程序员整合Java门户单点登录PHPwind论坛博客软件集成项目经验总结
  9. python nose测试框架全面介绍十---用例的跳过
  10. 后台获取(Background Fetch) - HTTP 203 Advent