标签:city 实践 str 发布 tar coin orm crypto 重要性
课程:《程序设计与数据结构》
班级: 1723
姓名: 赵晓海
学号:20172311
实验教师:王志强
实验日期:2018年5月27日
必修/选修: 必修
http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA
参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECCODESTANDARD 安装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));
}
}
在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;
提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。
#### (3)重构
http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA
完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。
参考 http://www.cnblogs.com/rocedu/p/6683948.html,以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。
提交学习成果码云链接和代表性成果截图,要有学号水印。
---
通过对本实验的学习了解到:
1.编写代码一个重要的认识是“程序大多时候是给人看的”,编程标准使代码更容易阅读和理解,甚至可以保证其中的错误更少。编程标准包含:具有说明性的名字、清晰的表达式、直截了当的控制流、可读的代码和注释,以及在追求这些内容时一致地使用某些规则和惯用法的重要性。
2.编码标准中的版式就是一个很好的例子,版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要因素。
3.实现代码规范的工具有很多,alibaba就是一个很好用的工具。
4.关于代码标准,可以遵循以下原则:
通过对本实验的学习了解到:
1.结对编程是XP中的重要实践,XP的集体所有制意味着每个人都对所有的代码负责;这一点,反过来又意味着每个人都可以更改代码的任意部分。结对编程对这一实践贡献良多:借由在不同的结对中工作,所有的程序员都能看到完全的代码。集体所有制的一个主要优势是提升了开发程序的速度,因为一旦代码中出现错误,任何程序员都能修正它。这意味着代码要放到一个大家都能方便获取的地方,我们叫代码仓库。这引出另外一个话题叫版本控制(Version Control)
2.不论是对于团队还是个体,版本控制都提供了很多好处
图一:
图二:
图三:
图四:
结对伙伴的MonetaryCoin.java的代码链接
重构之后的代码链接
通过学习本实验了解到:
重构的概念:
1.重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更 。
2.重构中一个非常关键的前提就是“不改变软件外部行为”,它保证了我们在重构原有系统的同时,不会为原系统带来新的BUG,以确保重构的安全。如何保证不改变软件外部行为?重构后的代码要能通过单元测试。如何使其更加易于阅读、易于维护和易于变更?设计模式给出了重构的目标。
3.重构的动机:
优化原有系统的性能
4.一个完整的重构流程包括:
往代码库中Check in code
5.哪些地方需要重构?有臭味道(Bad Smell)的代码。Bad Smell与相应的重构手法如下表所示:
图一:
图二:
图三:
图四:
图五:
图六:
图七:
图八:
各种加密算法代码链接1
模拟使用密钥协定创建共享密钥的另一部分
通过对本实验的学习了解到:
1.密码学: 主要是研究保密通信和信息保密的学科, 包括信息保密传输和信息加密存储等。
2.密码学并不是孤立存在的,它需要有一个环境——保密通信模型。用保密通信模型来诠释这种信息传送方式, 如下图所示:
3.根据密钥的使用方法, 可以将密码分为对称密码和公钥密码两种。
对称密码(symmetriccryptography)是指在加密和解密时使用同一密钥的方式。
公钥密码(public-keycryptography)则是指在加密和解密时使用不同密钥的方式,公钥密码又称为非对称密码(asymmetric cryptography)。
将对称密码和公钥密码结合起来的密码方式称为混合密码系统(hybridcryptosystem),这种系统结合了对称密码和公钥密码两者的优势。
混合密码系统加密:
混合密码系统解密:
问题:使用IDEA运行凯撒加密代码时出现如下错误:
修改过后的运行结果如下:
唯有坚持,才能有希望!JAVA的学习之路是漫长的!唯有坚持,才能进步!才有机会接触到更多的知识!JAVA的应用太广泛,可以用来编写让人头疼的加密和解密代码!!
20172311 2017-2018-2 《程序设计与数据结构》实验三报告
标签:city 实践 str 发布 tar coin orm crypto 重要性
原文地址:https://www.cnblogs.com/zhaoxiaohai/p/9105495.html