XP基础git
XP核心实践程序员
相关工具编程
1.没有Linux基础的同窗建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程安全
2.完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同窗”、“看书”等一概得0分)以及分析(从中能够获得什么启示,有什么收获,教训等)。报告能够参考范飞龙老师的指导网络
3.严禁抄袭,有该行为者实验成绩归零,并附加其余惩罚措施。app
咱们关注其中的编码标准,结对编程,代码集体全部,测试,重构等实践。编辑器
Java中的通常的命名规则有:工具
要体现各自的含义性能
包、类、变量用名词单元测试
方法名用动宾
包名所有小写,如:io,awt
类名第一个字母要大写,如:HelloWorldApp
变量名第一个字母要小写,如:userName
方法名第一个字母要小写:setName
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)); } }
代码标准化,使用了IDEA的Code->Reformate Code功能:
结对编程是XP中的重要实践。在结对编程模式下,一对程序员肩并肩、平等地、互补地进行开发工做。他们并排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一块儿工做。他们一块儿分析,一块儿设计,一块儿写测试用例,一块儿编码,一块儿作单元测试,一块儿作集成测试,一块儿写文档等。
具体实验内容:在码云上把本身的学习搭档加入本身的项目中,确认搭档的项目加入本身后,下载搭档实验二的Complex代码,加入很多于三个JUnit单元测试用例,测试成功后git add .; git commit -m "本身学号 添加内容";git push;
提交搭档项目git log的截图,包含上面git commit的信息,并加上本身的学号水印信息。
XP的集体全部制意味着每一个人都对全部的代码负责;这一点,反过来又意味着每一个人均可以更改代码的任意部分。结对编程对这一实践贡献良多:借由在不一样的结对中工做,全部的程序员都能看到彻底的代码。集体全部制的一个主要优点是提高了开发程序的速度,由于一旦代码中出现错误,任何程序员都能修正它。
这意味着代码要放到一个你们都能方便获取的地方,咱们叫代码仓库。这引出另一个话题叫版本控制(Version Control)。
重构的概念:
重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变动。
重构中一个很是关键的前提就是“不改变软件外部行为”,它保证了咱们在重构原有系统的同时,不会为原系统带来新的BUG,以确保重构的安全。如何保证不改变软件外部行为?重构后的代码要能经过单元测试。
与搭档以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。下图为成果截图:
重构的好处:
增长新功能;
原有功能有BUG;
改善原有程序的结构;
优化原有系统的性能 。
一个完整的重构流程包括:
从版本控制系统代码库中Check out code
读懂代码(包括测试代码)
发现bad smell
Refactoring
运行全部的Unit Tests
往代码库中Check in code
1.以结对编程的方式编写一个软件,Blog中要给出结对同窗的Blog网址,能够拍照展示结对编程状况,能够参考一下其余学校的做业
2.记录TDD和重构的过程,测试代码不要少于业务代码,Eclipse中refactor菜单下的重构技能不要少于5个
3.团队代码要使用git在实验楼中托管,要使用结对同窗中的一个同窗的帐号托管。
4.程序要有GUI界面,参考用户界面和用户体验
5.程序功能从豌豆荚游戏中选择一款用Java实现,注意:团队之间项目不能有重复,课表明协调一下。
6.实验报告中统计本身的PSP(Personal Software Process)时间
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 20min | 7.6% |
设计 | 60min | 23.0% |
代码实现 | 120min | 41.2% |
测试 | 40min | 15.4% |
分析总结 | 60min | 23.0% |