zoukankan      html  css  js  c++  java
  • 第四次博客作业-结对项目

    任务1:(5分)

          在学习通上注明结对的成员对: 1班魏佳辛-----1班张娜

    任务2:(95分)

          结对的成员共同完成本次作业,撰写博客并将结对项目的程序发布到github上

          博客的内容安排如下:

    (1)提供你的结对成员的博客链接地址(5分)

    (2)结对成员对四则运算项目进行代码互审,并给出代码审查结果表

           魏佳辛的代码审查表(由张娜完成)(10分)

           张娜的代码审查表(由魏佳辛完成)(10分)

    互查内容

    魏佳辛

    张娜

     

     

    1.概要部分

    代码符合需求和规格说明么?

    符合

    符合

    代码设计是否考虑周全?

    周全

    不周全

    代码可读性如何?

    易读

    易读

    代码容易维护么?

    不容易

    容易

    代码的每一行都执行并检查过了吗?

     

     

     

    2.设计规范部分

    设计是否遵从已知的设计模式或项目中常用的模式?

    有没有硬编码或字符串或数字等存在?

    代码有没有依赖于某平台?

    开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?是否存在类似的功能可以调用而不用全部重新实现?

    有没有无用的代码可以清除?

    3.代码修改部分

    修改的部分符合代码标准和风格么(详细条文略) ?

    符合

    符合

    4.具体代码部分

    有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常?

    参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单1双字节)的长度,是以0开始计数还是以1开始计数?

    0

    0

    边界条件? 

    有没有使用断言(Assert)来保证我们认为不变的条件真的得到满足?

    对于资源的申请释放,有无泄漏,有无优化空间?

    数据结构中有没有用不到的元素?

    5.效能

    代码的效能( Performance )如何?

    良好

    良好

    代码中,特别是循环中是否有明显可优化的部分(C++中反复创建类,C#中string的操作是否能StringBuilder来优化) ?

    对于系统和网络的调用是否会超时?如何处理?

    无调用

    6.可读性

    代码可读性如何?有没有足够的注释?

    易读

    足够

    易读

    足够

    7.可测试性

    代码是否需要更新或创建新的单元测试?针对特定领域的开发(如数据库、网页、多线程等),可以整理专门的核查表。

    需要

    不需要

    (3)选取其中一个成员的项目为基础,进行结对编程。结对项目撰写的博客要求:(30分)

            (a)结合课堂讲授内容,制订一份2人共同遵守的代码编写基本规范(至少包括注释规范与变量命名规范)。

    • 空行:空行起着分隔程序段落的作用。空行得体(不过多也不过少)将使程序的布局更加清晰,空行不会浪费内存,断行与空白的{}行:每个“{”和“}”都独占一行。
      为便于阅读代码,每行代码的长度应少于100个字符。

    • 在每个类声明之后、每个函数定义结束之后都要加空行。
    • 代码行:一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释。if等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加{}。这样可以防止书写失误。
    • 注释:修改代码同时修改相应的注释,以保证注释与代码的一致性。

    • 定义变量:在定义变量的同时必须初始化该变量。

      如果变量的引用处和其定义处相隔比较远,变量的初始化很容易被忘记。如果引用了未被初始化的变量,可能会导致程序错误。 

    • 对齐:程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐。{ }之内的代码块在‘{’右边一个制表符左对齐。
    • 类命名:首字母大写,每个单词首字母大写(大驼峰命名法)。

    • 方法名:首字母小写,剩余的每个单词的首字母大写(小驼峰命名法)。

            (b)描述结对编程的感受。

    • 魏佳辛感受:在结对编程中,两个人相互讨论可以更快更有效地解决问题,增强代码和产品质量,并有效的减少BUG。而且在开发伙伴身边坐下,一起调试代码的时候,可以从她身上学到一些编程经验与技巧,得到能力上的互补,两个人都可以快速的学习进步。

    • 张娜感受:两个人一起写代码可以避免很多小错误,细节考虑更全面,质量可以得到很大的保证,代码风格也能保持一致。而且我相信结对编程可以提高工作效率,增加成员的积极性,不容易沮丧。因为在面对问题的时候,会有人一起分担,共同尝试新的策略。

            (c)结对场景照片

    (4)结对项目编程要求:(40分)

          对结对项目首先完成代码规范和设计规范的修改,其次完成项目增加的需求,最后将完成的项目提交到github上,给出github的连接地址,可以给出简单的设计说明。

          github链接地址:https://github.com/zhangna-zn/-/tree/master

          增加的需求:(a)考虑数据异常处理问题,如在输入题目生成范围的数据时,输入了“abc“等字符数据,程序报错。

                             (b)增大算式生成数的范围(如整数存不下的数),程序报错。

  • 相关阅读:
    配置WepApi默认支持JSON数据格式的返回 人工智能
    让人HOLD不住的新闻,Windows8将何去何从?Windows8的开发何去何从? 人工智能
    MVC开发的小问题及解决方案记录 人工智能
    在埋头写程序学技术的同时,有没有想到你们的老板和上司在搞什么? 人工智能
    Func与Action, delegate, event, var, dynamic, 匿名方法,lambda, 大量的关键都使用相同功能,大大增加C#复杂性 人工智能
    畅想(2)计算机发展与教育的关系 人工智能
    函数式编程学习之路(二) 人工智能
    C++关键字(1)——const
    怎样在阻塞模式下设置recv()函数的阻塞时间
    队列
  • 原文地址:https://www.cnblogs.com/weijxx91/p/11720279.html
Copyright © 2011-2022 走看看