2017-2018-2 20165325 實驗三《Java面向對象程序設計》實驗報告

1、敏捷開發與XP實踐-1

一、檢查點要求

實驗三 敏捷開發與XP實踐 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的內容替換成IDEAhtml

參考 http://www.cnblogs.com/rocedu/p/6371315.html#SECCODESTANDARD 安裝alibaba 插件,解決代碼中的規範問題。java

在IDEA中使用工具(Code->Reformate Code)把下面代碼從新格式化,再研究一下Code菜單,找出一項讓本身感受最好用的功能。提交截圖,加上本身學號水印。android

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

二、運行截圖

修改前:git

修改後:編程

使用code->Reformat對齊後:網絡

Code菜單中我感受最好用的功能是Generate,能迅速產生getter、setter、equals等方法;app

2、敏捷開發與XP實踐-2

一、檢查點要求

在碼雲上把本身的學習搭檔加入本身的項目中,確認搭檔的項目加入本身後,下載搭檔實驗二的Complex代碼,加入很多於三個JUnit單元測試用例,測試成功後git add .; git commit -m "本身學號 添加內容";git push;ide

提交搭檔項目git log的截圖,包含上面git commit的信息,並加上本身的學號水印信息。工具

二、運行截圖

Complex測試成功:性能

已經將改動上傳至搭檔的碼雲:

git log日誌:

3、敏捷開發與XP實踐-3

一、檢查點要求

實驗三 敏捷開發與XP實踐 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的內容替換成IDEA

完成重構內容的練習,下載搭檔的代碼,至少進行三項重構,提交重構後代碼的截圖,加上本身的學號水印。提交搭檔的碼雲項目連接。

二、重構

當我看完了搭檔的Fushu.java代碼以後,我發現了不少須要優化的地方。

完成實驗項目二的文件Fushu.java碼雲連接以下:

我將本身的幾點想法總結以下:

  • 首先Fushu這個類徹底是多餘的,沒有必要把他做爲內部類Complex的外嵌類;
  • 仔細觀察Fushu這個類,其中的main方法的主要目的實際上是爲了進行測試;
  • toString類最好能規範爲Generate生成的默認格式;

基於這三點想法,我逐漸造成了本身的重構思路。完成重構後的代碼截圖(部分):

上傳日誌截圖:

碼雲連接:

三、搭檔的Complex項目碼雲連接

20165320Gst丶Paul / BESTI.IS.Java2018 / exp2 / Complex /

4、敏捷開發與XP實踐-4

一、檢查點要求

參考 http://www.cnblogs.com/rocedu/p/6683948.html,以結對的方式完成Java密碼學相關內容的學習,結合重構,git,代碼標準

提交學習成果碼雲連接和表明性成果截圖,要有學號水印。

二、表明性成果截圖

三、成果項目碼雲連接

https://gitee.com/BESTI-IS-JAVA-2018/20165325/tree/master/Exp3_Des


遇到的問題及部分解決方案

一、alibaba 插件下載出錯

在下載alibaba 插件時出現以下錯誤:

Plugin Alibaba Java Coding Guidelines was not installed: Cannot download'https://plugins.jetbrains.com/pluginManager/?action=download&;id=com.alibaba.p3c.smartfox&build=IU-172.4343.14&uuid=9f9fc264-a025-47ed-9bdc-c12871794d1c': Read timed out

如圖所示:

個人解決方案是:把電腦的網絡由宿舍網換成了手機WiFi熱點,不要笑我,這彷佛確實是網絡的問題,參考連接:《阿里巴巴Java開發手冊》掃描插件正式發佈--插件安裝和使用分析

可是安裝以後,發現仍是不行,我真NC了,上面錯誤明顯是 Read timed out !
因而我立刻斷開個人wifi,用我手機開了個熱點,一試以後,下載蹭蹭的!開心!
【總結:如何報這個錯誤,請檢查網絡】

因此說彷佛確實是網絡的問題,另外文中提到:

IDEA版的插件 :
咱們發佈到了IDEA官方倉庫中(最低支持版本14.1.7,JDK1.7+)

這個也可能致使錯誤(不過個人版本沒問題,排除這種可能性)。

二、關於git log

git log功能只能看在本機上傳(或同步)的commit日誌。在本次實驗的第二項中,咱們起初覺得一我的上傳之後,兩我的都能用git log看見碼雲的commit日誌,實際上只有上傳者能看見。

三、關於IDEA的重構

老師的連接給的是關於Eclipse的重構,關於IDEA的重構我本身在網上找到了一些資料,總結以下:

  • IDEA 重構快捷鍵:
重命名文件、方法、屬性等(rename):SHIFT+F6 
提取當前選擇爲變量(extract variable):CTRL+ALT+V 
提取當前選擇爲屬性(extract field):CTRL+ALT+F 
提取當前選擇爲常量(extract constant):CTRL+ALT+C 
提取當前選擇爲方法(extract method):CTRL+ALT+M 
提取當前選擇爲方法參數(extract parameter):CTRL+ALT+P 
重構類、方法(change signarture):CTRL+F6 
提取代碼塊至if、try等結構中(surround with):CTRL+ALT+T 
建立模塊文件等(new):CTRL+ALT+N 
建立測試用例(test):CTRL+SHIFT+T 
重構菜單(refactor for this):CTRL+T
  • 參考連接:

IDEA 重構快捷鍵
idea使用心得(3)-重構初探
第三部分:Idea重構總結

四、如何判斷兩個StringBuffer相等

以前在作結對編程的時候遇到了這個關於StringBuffer的問題,此次再次出錯,總結一下:

  • 書上知識沒有掌握充分;
  • 沒有及時把解決問題的方法記錄在博客裏;

那麼如今咱們來「亡羊補牢」:

首先淺談一下StringStringBuffer的幾點區別:

  • Stringfinal類,不容許繼承,對於append這樣的操做只能新建new String,而StringBuffer是可變類,不須要從新new StringBuffer,因此在字符串操做上性能很是好。
  • Stringequals方法由於重寫了Objectequals方法,因此能夠比較字符串的內容,而StringBuffer由於沒重寫equals方法,直接繼承了Objectequals方法,因此不行。

那麼如何比較StringBuffer字符串內容是否相等呢?

總結一下:可使用toString() 方法將StringBuffer的內容轉換爲String 字符串,再使用equals()方法比較。

參考連接:比較StringBuffer字符串內容是否相等?

五、找不到SDK

實際上這是關於Android Studio的東西,我暫時先放在這一篇博客裏面。

剛剛安裝好了Android Studio之後,以一次打開出現了錯誤代碼:

unable to access android sdk-on list

在老師的博客指導裏面讓咱們下載SDK,其實咱們可讓Android Studio本身下載,所以在下圖中你只須要點cancel就行。

參考連接:unable to access android sdk add-on list

相關文章
相關標籤/搜索