Upload
samael-wang
View
436
Download
14
Embed Size (px)
Citation preview
視窗應⽤用程式設計⺩王哲輝
實習 1作業、實習將透過 Github 繳交,以編輯歷史作為原創依據
開設 Github 帳號
https://github.com/freesamael/npu-java-course-spring-2015
Fork!
以觀察者模式修改 ObserverSample,並上傳
可以透過 GUI ⼯工具
Sourcetree: https://www.sourcetreeapp.com
Github:https://windows.github.com
Observer Sample (進階)
https://github.com/freesamael/npu-java-course-spring-2015
試修正此程式,使 1. Model 產⽣生變動時可以通知 View 2. 呈上,程式碼中已包含三個 View instance,照以下步驟增加第四個 View 1. 新增 AlternativeView 類別,提供與 View 相同介⾯面 2. AlternativeView.show() 中將 Model 的字串反向印出,如
“Hello” 印成 “olleH” 3. 以 AlternativeView 增加第四個 View 時,應僅需更動初始化部分及 Window class 部分參數,⽽而不修改 while loop 內容,也不會動到既有的 Model / View / Controller 三個類別
Git 基本流程
git pull - 從遠端將數據庫下載回本機
修改檔案 / 編譯 / 測試
git add - 將新檔案加⼊入追蹤
git commit - 將修改儲存進本機數據庫
git push - 將數據庫推送回遠端
作業要求 - JavaDoc
所有的類別及⽅方法都必須有完整的 JavaDoc
例外:@Override 的⽅方法
缺少之欄位逐項扣⼀一分
作業要求 - 命名原則常數(static final 或列舉的成員)的名稱全⼤大寫
駝峰式命名,類別/列舉名稱為⼤大寫開頭
除迴圈可使⽤用 i, j, k 外,不使⽤用無意義之名稱如 a, b, c 或 test123 等
⼀一般屬性名稱開頭都加上 m,如 mUsername
Getter / Setter 名稱分別為 get / set 開頭,如 getUsername / setUsername
違反處逐項扣⼀一分
作業要求 - 程式碼品質
除常數外禁⽌止使⽤用 static 屬性
禁⽌止 magic number / magic string,常數應預定義
最⼩小可視性:private > protected > public
違反處逐項扣⼀一分
所有程式碼正確使⽤用 UTF-8 編碼加五分
z
評分⽅方式
設計佔 60%,功能佔 40%
前述⾴頁⾯面皆屬設計,扣分上限 60%
Bug 解不完可以繳交屍體,視情況給予部分成績
遲交不予計分
作業 1
https://github.com/freesamael/npu-java-course-spring-2015
試修正此程式,使 1. 套⽤用觀察者模式 2. 呈上,程式碼中已包含三個 View instance,照以下步驟增加第四個 View 1. 新增 AlternativeView 類別,提供與 View 相同介⾯面 2. AlternativeView.show() 中將 Model 的字串反向印出,如
“Hello” 印成 “olleH”
繳交期限:5/31 結束前
作業 2
以 Java Swing 或 JavaFX 完成右圖計算機
期限:6/12 結束前繳交成品
繳交⽅方式:push 到 github 即可
作業要求 - JavaDoc
所有的類別及⽅方法都必須有完整的 JavaDoc
例外:@Override 的⽅方法
缺少之欄位逐項扣⼀一分
作業要求 - 命名原則常數(static final 或列舉的成員)的名稱全⼤大寫
駝峰式命名,類別/列舉名稱為⼤大寫開頭
除迴圈可使⽤用 i, j, k 外,不使⽤用無意義之名稱如 a, b, c 或 test123 等
⼀一般屬性名稱開頭都加上 m,如 mUsername
Getter / Setter 名稱分別為 get / set 開頭,如 getUsername / setUsername
違反處逐項扣⼀一分
作業要求 - 程式碼品質除常數外禁⽌止使⽤用 static 屬性
禁⽌止 magic number / magic string,常數應預定義
最⼩小可視性:private > protected > public
違反處逐項扣⼀一分
其餘不良寫作習慣視情況酌予扣分
提⽰示:參考 Google / Oracle Java 建議⾵風格,並善⽤用 Netbeans 格式化⼯工具
https://google-styleguide.googlecode.com/svn/trunk/javaguide.html
http://www.oracle.com/technetwork/java/codeconvtoc-136057.html
所有程式碼正確使⽤用 UTF-8 編碼加五分
作業要求 - 設計
應符合 MVC 之設計
Model 介⾯面需包含右圖所列⽅方法,並以觀察者模式通知 View
Package Name 應使⽤用 “tw.edu.npu.mis” 以便批改
不符設計要求視情況扣分
作業要求 - 設計appendDigit(int digit): 輸⼊入單⼀一數字,digit 參數範圍應為 0~9appendDot(): 輸⼊入⼀一個點號performOperation(operator: Operator): 執⾏行⼀一個運算,如加減乘除getDisplay(): 取得⺫⽬目前應顯⽰示於畫⾯面上的資訊
範例:appendDigit(3);getDisplay(); // 回傳 3appendDigit(4);getDisplay(); // 回傳 34performOperation(Operator.PLUS);getDisplay(); // 回傳 34appendDigit(2);getDisplay(); // 回傳 2performOperation(Operator.EQUAL);getDisplay(); // 回傳 36
評分⽅方式設計佔 60%,功能佔 40%
前述⾴頁⾯面皆屬設計,扣分上限 60%
功能不需考慮連續等號運算(ex. 2××===)
Bug 解不完可以繳交屍體,視情況給予部分成績
功能配分原則上將採取量尺成績配分,較多⼈人實做的功能⽐比重會較重
MOSS 相似度 90% 以上者
可明顯判斷抄襲者 => 抄襲者不予計分
無法判斷抄襲者 => 雙⽅方皆不予計分
遲交不予計分