• 20165307 实验三 敏捷开发与XP实践


    一、敏捷开发与XP实践-1

    实验要求:

    • 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能。提交截图,加上自己学号水印。
    public class CodeStandard {
    public static void main(String [] args){
    StringBuffer buffer = new StringBuffer();
    buffer.append('S');
    buffer.append("tringBuffer");
    System.out.println(buffer.charAt(1));
    System.out.println(buffer.capacity());
    System.out.println(buffer.indexOf("tring"));
    System.out.println("buffer = " + buffer.toString());
    if(buffer.capacity()<20)
    buffer.append("1234567");
    for(int i=0; i<buffer.length();i++)
    System.out.println(buffer.charAt(i));
    }
    }
    

    Code菜单的功能学习

    • Implement Methods(Ctrl+I)完成当前类 implements 的(或者抽象基本类的)接口的方法;
    • Override Methods(Ctrl+O)重载基本类的方法;
    • Generate(Alt+Insert)创建类里面任何字段的 getter 与 setter 方法;
    • Reformat Code(Ctrl+Alt+L)将代码按标准格式缩进;

    二、敏捷开发与XP实践-2

    实验要求

    • 在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。

    三、敏捷开发与XP实践-3

    实验要求

    • 完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。
      重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更。

    搭档代码https://gitee.com/1245821291/javabestiis20165311_li_jiaxin/blob/master/20165311/%E7%BB%84%E5%90%88%E6%95%B0/zuheshu.java

    public class zuheshu {
        public static void main(String[] args) {
          
           
                
             
                try {
                   int n= Integer.parseInt(args[0]);
                   int m= Integer.parseInt(args[1]);
    
                    if (m >= 0 && n > 0 && m <= n) {
                        int[][] a = new int[n + 1][n + 1];
                        int i = 0, j = 0,b = 0,count = 0;
                        for (i = 0; i <= n; i++) {
                            for (j = 0; j <= i; j++) {
                                if (j > 0 && j < i) 
                                    a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
                                
                                if (j == 0 || j == i) {
                                    a[i][j] = 1;
                                }
                            }
                        }
                        System.out.println("C(n,m)的值为:" + a[n][m]);
                    }
                    else System.out.println("输入错误:组合数n必须大于m");
    
                }
                catch(Exception e) {
                    System.out.println("输入的不是数字");
                }
            
        }
    }
    

    以上代码结构存在以下问题

    • 类名不符合命名规则;
    • 语句结构不方便阅读;
    • 定义了冗余变量;

    四、敏捷开发与XP实践-4

    实验要求

    • 以结对的方式完成Java密码学相关内容的学习,结合重构、git、代码标准等
      简单实现凯撒密码

  • 相关阅读:
    C#获取EF实体对象或自定义属性类的字段名称和值
    Android 短信广播接收相关问题
    Silverlight5 Tools安装失败及解决方案
    验证码刷新
    Silverlight动态生成控件实例
    spring 属性注入
    asp.net XMLHttpRequest 进度条以及lengthComputable always false的解决办法
    Spring.Net 初探之牛刀小试
    iframe载入页面过程显示动画效果
    一次让人晕到吐血的接包经历
  • 原文地址:https://www.cnblogs.com/wangzhe1998/p/8998210.html
Copyright © 2020-2023  润新知