20172305 2017-2018-2 《程序设计与数据结构》实验三报告

20172305 2017-2018-2 《程序设计与数据结构》实验三报告

课程:《程序设计与数据结构》
班级: 1723
姓名: 谭鑫
学号:20172305
实验教师:王志强
实验日期:2018年5月27日
必修/选修: 必修

1.实验内容

  • 1.代码规范 Eclipse的内容替换成IDEA并安装alibaba 插件,解决代码中的规范问题。
    在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.协同测试 在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;
    提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。
  • 3.重构 Eclipse的内容替换成IDEA完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。
  • 4.密码学应用 以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。

2. 实验过程及结果

  • 敏捷开发与XP实践-1:编程标准使代码更容易阅读和理解,甚至可以保证其中的错误更少。程序的版式追求清晰、美观,是程序风格的重要因素。好的代码不但是要结构清晰,而且排版整洁不乱。就拿if语句的嵌套来说,如果if后面有跟else有不跟else的,如何判断还得通过具体的分析,不能一眼就瞅出来。在以前的编写代码的过程,就照着书上的规范进行编写,public class XXXpublic static void main(String[[] args)的“{”总会是空一行处理,每一个方法内部的代码都会尽量是一行进行一个小步骤,还有根据代码逻辑加入一些空行(可以使自己的代码变得更长)。
  • 敏捷开发与XP实践-2:在做此实践的时候,自己的IDEA又崩盘了,还是那个巨恶心UTF-8和GDK,还得删了下新的,好在实验二的操作不是很繁琐,就是和实践二类似进行JUnit单元测试,只不过是搭档的代码。在操作过程中,加进去搭档的项目后,但偷工减料直接复制搭档的代码进行操作,并上传到自己的码云上。
  • 敏捷开发与XP实践-3:实验3的要求就是理解重构的内涵。能够降低项目的耦合度,使项目更加模块化,有利于项目的开发效率和后期的维护。
    • 使用重构的方式,不改变系统的外部功能,只对内部的结构进行重新的整理。通过重构,不断的调整系统的结构,使系统对于需求的变更始终具有较强的适应能力。
  • 敏捷开发与XP实践-4:学习的是java的密码学的部分,很有意思,终于接触到了加密、解密的过程了,凯撒密码、对称加密的DES算法、非对称加密的RSA算法等。通过代码的理解,知道了凯撒密码就是对每个字符的移位操作,DES和RSA的获取公钥、对明文进行加密、解密等方式。
    • JCA( Java Cryptography Architecture, Java加密体系结构):JCA提供基本的加密框架, 如证书、 数字签名、消息摘要和密钥对产生器。
    • JCE( Java Cryptography Extension, Java加密扩展包):JCE在JCA的基础上作了扩展, 提供了各种加密算法、消息摘要算法和密钥管理等功能。JCE的实现主要在javax.crypto包( 及其子包) 中
    • JSSE( Java Secure Sockets Extension, Java安全套接字扩展包):JSSE提供了基于SSL( Secure Sockets Layer,安全套接字层) 的加密功能。 在网络的传输过程中, 信息会经过多个主机(很有可能其中一台就被窃听) , 最终传送给接收者, 这是不安全的。这种确保网络通信安全的服务就是由JSSE来提供的。
    • JAAS( Java Authentication and Authentication Service, Java鉴别与安全服务):JAAS提供了在Java平台上进行用户身份鉴别的功能。

3. 实验过程中遇到的问题和解决过程

  • 问题1:重构的改写
  • 问题1的解决方案:重构的问题刚开始很混乱,认为是对类明的重构但还不是该写不了,还有就是找不到改写的方法,搭档写的太完美了。后来,在重构的按键下,对文件明的那个进行改写就成功了。Shape类中,搭档终于缺少两个set方法,针对这个进行重构改写。

  • 问题2:java与密码学
  • 问题2的解决方案:在公务员课上接触过凯撒密码,其实质就是对字符的移位,在当时密码学的发展过程起到了很大影响。可加密也可解密的凯撒密码很难适应科技的不断发展,诞生了DES算法和RSA算法,使密码的传输更安全。

其他

实践三的内容感觉都很简单,学的都是一些思路和代码的规范性,我在整个实践的过程中感觉最麻烦的就是实验四密码的理解部分。感觉这个密码学的部分看似简单,但是一个密码的形成是很艰难的。就像学习一样,艰难......

参考资料

原文地址:https://www.cnblogs.com/sanjinge/p/9105071.html

时间: 2024-10-11 15:09:23

20172305 2017-2018-2 《程序设计与数据结构》实验三报告的相关文章

20172313 2017-2018-2 《程序设计与数据结构》实验三报告

20172313 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 余坤澎 学号:20172313 实验教师:王志强 实验日期:2018年5月10日 必修/选修: 必修 1.实验内容 编程标准能够使代码更容易阅读和理解,甚至可以保证其中的错误更少.编程标准包含:具有说明性的名字.清晰的表达式.直截了当的控制流.可读的代码和注释,以及在追求这些内容时一致地使用某些规则和惯用法的重要性.安装alibaba 插件,解决代码中

# 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告

学号 2017-2018-20172309 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 王志伟 学号:20172309 实验教师:王志强老师 实验日期:2018年4月18日 必修/选修: 必修 1.实验内容 实验三 敏捷开发与XP实践 (1)代码规范:安装alibaba 插件,解决代码中的规范问题. 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好

2017-2018-2 《程序设计与数据结构》实验三报告

学号 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 康皓越 学号:20172326 实验教师:王志强 实验日期:2018年5月16日 必修/选修: 必修 1.实验内容 代码规范 协同测试 重构 密码学应用 2. 实验过程及结果 代码规范 可以看到在使用代码规范之前,我的代码几乎都存在许多问题,以standardcode作为使用代码规范的例子 public class CodeStandard { public st

20172311 2017-2018-2 《程序设计与数据结构》实验三报告

20172311 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 赵晓海 学号:20172311 实验教师:王志强 实验日期:2018年5月27日 必修/选修: 必修 1.实验内容 (1)代码规范 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA 参考 http://www.cnblogs.com/rocedu/p/6371315.html

20172301 2017-2018-2 《程序设计与数据结构》实验三报告

20172301 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 郭恺 学号: 20172301 实验教师:王志强老师 助教:张旭升/刘伟康 实验日期:2018年5月16日 必修/选修: 必修 1.实验内容 实验1:代码规范,安装alibaba插件,解决代码中的规范问题. 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能

172322 2018-2019-1 《程序设计与数据结构》实验三报告

172322 2018-2019-1 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 张昊然 学号:20172322 实验教师:王志强 助教:张之睿/张师瑜 实验日期:2018年11月19日 必修/选修: 必修 1.实验内容 此处填写实验的具体内容: 节点一:定义一个Searching和Sorting类,并在类中实现linearSearch(教材P162 ),SelectionSort方法(P169),最后完成测试.要求不少于10个测试用例

20172303 2018-2019-1 《程序设计与数据结构》实验三报告

20172303 2018-2019-1 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 范雯琪 学号:20172303 实验教师:王志强 助教:张师瑜/张之睿 实验日期:2018年11月19日 必修/选修: 必修 实验内容 节点一 定义一个Searching和Sorting类,并在类中实现LinearSearch(教材P162),SelectionSort方法(P169),最后完成测试. 要求不少于10个测试用例,提交测试用例设计情况(正

20172325 2017-2018-2 《程序设计与数据结构》实验三报告

20172325 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 邓煜坤 学号:20172325 实验教师:王志强 实验日期:2018年11月19日 必修/选修: 必修 1.实验内容 实验三-查找与排序-1 定义一个Searching和Sorting类,并在类中实现linearSearch(教材P162 ),SelectionSort方法(P169),最后完成测试. 要求不少于10个测试用例,提交测试用例设计情况(正

20182309 2019-2020-1 《数据结构与面向对象程序设计》实验三报告

20182309 2019-2020-1 <数据结构与面向对象程序设计>实验三报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 董其鹏 学号: 20182309 实验教师:王志强 实验日期:2019年9月23日 必修/选修: 必修 1.实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.完成蓝墨云上 (1)-(5)实验. 2. 实验过程及结果 sout :生成 System.out.println() ps