• 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告


    一、实验要求

    1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程
    2.完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决 办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。报告可以参考范飞龙老师的指导
    3.严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。

    二、实验内容

    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));
    }
    }
    

    2.Git的使用

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

    3.重构

    完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。

    三、实验步骤

    1.编码标准

    规范之后的代码:

    /**
     * Complex
     *
     * @author lyh5309
     * @date 2019/4/29
     */
    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());
            int n = 20;
            if (buffer.capacity() < n) {
                buffer.append("1234567");
            }
    
            for (int i = 0; i < buffer.length(); i++) {
                System.out.println(buffer.charAt(i));
            }
    
        }
    }
    

    单击IDEA菜单中的Code->Reformat 或用快捷键Ctrl+Alt+L就可以按IDEA规定的规范缩进。

    效果如下:

    其他的idea中code的快捷键参考这篇博客

    2.git的使用

    1.把同伴加入自己的项目中:
    管理->仓库->仓库成员管理->添加仓库成员->邀请用户

    2.搭档的Complex的代码:

    /**
     * Complex
     *
     * @author lyh5309
     * @date 2019/4/29
     */
    
    public class Complex {
    
        double realPart;
        double imagePart;
    
    
        Complex(double realPart, double imagePart) {
            this .realPart = realPart;
            this.imagePart = imagePart;
        }
    
    
        Complex complexAdd(Complex a) {
            return new Complex(realPart + a.realPart, imagePart + a.imagePart);
        }
    
        Complex complexSub(Complex a) {
            return new Complex(realPart - a.realPart, imagePart - a.imagePart);
        }
    
        Complex complexMulti(Complex a) {
            return new Complex(realPart * a.realPart - imagePart * a.imagePart, realPart * a.imagePart + a.realPart * imagePart);
        }
    
        Complex complexDiv(Complex a) {
            return new Complex((realPart * a.realPart + imagePart * a.imagePart) / (a.realPart * a.realPart + a.imagePart * a.imagePart), (-realPart * a.imagePart + a.realPart * imagePart) / (a.realPart * a.realPart + a.imagePart * a.imagePart));
        }
    
        @Override
        public boolean equals(Object obj) {
            if (obj == null) {
                return false;
            } else {
                Complex m = (Complex) obj;
                if (m.realPart == realPart && m.imagePart == imagePart) {
    
                    return true;
                } else {
                    return false;
                }
            }
        }
    
        @Override
        public String toString() {
            String output;
            if (imagePart == 0) {
                return output = realPart + "";
            } else if (realPart == 0 && imagePart != 0) {
                return output = imagePart + "i";
            } else if (imagePart > 0) {
                return output = realPart + "+" + imagePart + "i";
            } else {
                return output = realPart + "" + imagePart + "i";
            }
        }
    }
    

    ComplexTest的代码:

    import junit.framework.TestCase;
    import org.junit.Test;
    public class ComplexTest extends TestCase {
        Complex a = new Complex(2,6);
        Complex b = new Complex(1,-3);
        @Test
        public void testEquals() {
            assertEquals(false,a.equals(b));
            assertEquals(true,a.equals(a));
        }
        @Test
        public void testComplexAdd() throws Exception {
            assertEquals("3.0+3.0i",a.complexAdd(b).toString());
        }
        @Test
        public void testComplexSub() {
            assertEquals("1.0+9.0i",a.complexSub(b).toString());
        }
        @Test
        public void testComplexMulti() {
            assertEquals("20.0",a.complexMulti(b).toString());
        }
        @Test
        public void testComplexDiv() {
            assertEquals("-1.6+1.2i",a.complexDiv(b).toString());
        }
    }
    

    3.提交
    git clone+同伴的码云
    之后正常的git add .git commit-m"x"git push -u origin master
    输入自己的用户名和密码,就会发现代码已经传到了同伴的仓库里了,编辑人是自己。

    3.重构

    1:所有类都必须添加创建者信息

    2:所有的覆写方法,必须加@Override注解

    3:方法名,参数名,成员变量,局部变量都统一使用lowerCamelCase

    4:在if/else/for/while/do语句中必须使用大括号,即使只有一行代码

    4.密码

    凯撒密码代码(与例子不太一样)

    package mg;
    
    /**
     * Created by lenovo on 2019/4/30.
     */
    import java.sql.SQLOutput;
    import java.util.Scanner;
    public class Caesar{
        public static void main(String[] args) {
            System.out.println("1 加密 2 解密");
            Scanner in = new Scanner(System.in);
            int n = in.nextInt();
            if (n == 1) {
                System.out.print("请输入明文:");
                String str = in.next();
                String jm = "";
                for (int i = 0; i < str.length(); i++) {
                    char ch = str.charAt(i);
                    if (ch >= 'a' && ch <= 'z') {
                        if (ch < 'x') {
                            ch += 3;
                        } else {
                            ch -= 26;
                            ch += 3;
                        }
                    }
                    if (ch >= 'A' && ch <= 'Z') {
                        if (ch < 'X') {
                            ch += 3;
                        } else {
                            ch -= 26;
                            ch += 3;
                        }
                    }
                    jm += ch;
                }
                System.out.println("密文是:" + jm);
            }
            else if (n == 2) {
                System.out.print("请输入密文:");
                String str = in.next();
                String jm = "";
                for (int i = 0; i < str.length(); i++) {
                    char ch = str.charAt(i);
                    if (ch >= 'a' && ch <= 'z') {
                        if (ch > 'c') {
                            ch -= 3;
                        } else {
                            ch += 26;
                            ch -= 3;
                        }
                    } else if (ch >= 'A' && ch <= 'Z') {
                        if (ch > 'C') {
                            ch -= 3;
                        } else {
                            ch += 26;
                            ch -= 3;
                        }
                    }
                    jm += ch;
                }
                System.out.println("明文是:" + jm);
            }
            else {
                System.out.println("输入错误");
            }
        }
    }
    

    结果截图:

    四、码云链接

    自己链接
    同伴链接

    五、总结

    本次实验的主要内容其实是在教我们如何规范的写代码,虽然难度不是很大,但是不引人重视,也容易犯错,代码是给别人看的,不是自己能看懂、正确了就够用了。这是作为一个码农的基本素质。

  • 相关阅读:
    数制转换
    禁止用户复制网页的内容
    TdxDBTreeView的节点移动排序
    cxgrid根据字段设置颜色
    获取用户IP
    在sql server中用存储过程发送邮件
    Delphi的DTS编程
    使年份适用于做有浏览器(IE和FireFox)
    用Delphi写扬声器音乐
    过滤字符串中的HTML代码(VBScript)
  • 原文地址:https://www.cnblogs.com/20175309lyh/p/10793377.html
Copyright © 2020-2023  润新知