zoukankan      html  css  js  c++  java
  • 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、代码标准等
      简单实现凯撒密码

  • 相关阅读:
    HDU 5486 Difference of Clustering 图论
    HDU 5481 Desiderium 动态规划
    hdu 5480 Conturbatio 线段树 单点更新,区间查询最小值
    HDU 5478 Can you find it 随机化 数学
    HDU 5477 A Sweet Journey 水题
    HDU 5476 Explore Track of Point 数学平几
    HDU 5475 An easy problem 线段树
    ZOJ 3829 Known Notation 贪心
    ZOJ 3827 Information Entropy 水题
    zoj 3823 Excavator Contest 构造
  • 原文地址:https://www.cnblogs.com/wangzhe1998/p/8998210.html
Copyright © 2011-2022 走看看