Re: [心得] 敏捷課程觀察心得

作者: cha122977 (CHA)   2018-04-07 03:46:25
※ 引述《YAYA6655 (YAYA)》之銘言:
: 以我20年的經驗來說,什麼敏捷,設計模式,很多都是脫褲子放屁。
: 更早期還有什麼OO方法論,部分人神鬼上身,什麼東西都要OO一下,連寫個九九乘法
: 表都要開一個 class ninenine。
我學OO大概6年,還真的沒用過OO的方式寫99乘法表
唯一寫過的一次是在main裡面直接幹,然後拆幾個function出來而已
然後我就想啊,如果叫我現在用OO的寫法寫99乘法表,那會長成什麼樣子?
然後就有了以下這個東西
https://gist.github.com/chartsai/9f32d6430a825f9296b376b60758192f
https://imgur.com/a/NF5Cl
接受自訂大小(ex: 不想印9x9,改印12 x 12)
可以指定分幾段(ex: 1~3 一段, 4~6 一段, 7~9一段…預設是超過六組就分兩段)
https://imgur.com/a/HTwh3
可以只打印特定行(ex: 3 x 1, 3 x 2 ....)
https://imgur.com/a/cj0BO
可以給打印格式(ex: %d x %d = %4d, %d * %d -> %2d)
https://imgur.com/a/o6rye
純實作含空行大概花40行,為了方便多寫了一個不用給格式的helper function花15行
demo用的main function花了20行XD
用的是我現在的主要語言Kotlin,可讀性待鄉民認證(?)
我覺得要增加功能或者是後續維護都不是大問題
要做Unit Test也算簡單
目前沒有做防呆,但應該不是大問題,輸入值驗一下就好了
不知道鄉民們怎麼看?是殺雞焉用牛刀呢?還是比直接幹來的好呢?
作者: OSDBNetwork (路人甲)   2018-04-07 09:43:00
把一件簡單的事情搞得這麼複雜 XD
作者: sayya2311 (ya)   2018-04-07 09:58:00
(a).可以加個客戶需求分析,系統分析,單元測試,效能測試,說明文件,功能上還可以產生圖片,excel,網頁..(b).直接告訢我做完了與結果就行了,超過3句話的討論都可以省了,因為這種題目沒有預期會有困難的地方,就需要時花時間下去而己.課堂上,外包,或是拿project來練功,(a)常見; 自行開發產品(b)划算, 不知道有沒有離題?
作者: landlord (91)   2018-04-07 11:22:00
https://martinfowler.com/bliki/BeckDesignRules.htmlsimple design這有順序的四要點,是很好的遵循原則
作者: Argos (Big doge is watching u)   2018-04-07 13:56:00
練功的話都沒差的 想做就做 但真正要練的 其實是在看到實際生活裡的真實需求時 那才是真槍實彈像這個練習題就可以模擬 如果我需求只是要1到9 給小朋友看你這樣當然是過度設計 但如果是要弄成大軟體裡的模組 這樣也還行
作者: robler (章魚丸)   2018-04-07 14:53:00
有沒有過度,是要看未來有沒有擴充修改的需求阿交個學校作業這樣寫就太搞剛了但是如果這個功能未來有要擴充,寫的好一點就會有幫助比方說,如果以後這個功能要加上16進位的15*15乘法表呢核心部份想必都差不多,但是細節就會有點不一樣
作者: PUTOUCHANG (自己的廢文自己發)   2018-04-07 20:54:00
真實產品等到需要擴充再重構, 一開始就想太遠未必好應該說出現需求時才會預期未來還有更多延伸需求
作者: art1 (人,原來不是人)   2018-04-08 02:30:00
看過一本大師們的閒聊,兩個風格不同的大師共同開發軟體一個就考慮更遠的需求,一個著眼於現在,這樣也能一起合作XD
作者: megawalker (小智貓)   2018-04-08 14:25:00
都知道可擴充行好了當然這樣寫啊
作者: s0914714 (YA)   2018-04-08 15:51:00
就是需求拉 我倒覺得重構比較重要如何把一開始很簡單的code改成需求很多的code一般大概就是疊床架屋 搞到程式亂七八糟
作者: cha122977 (CHA)   2018-04-09 21:25:00
同意有需求再改就好 但要一開始就寫的好改我覺得不容易

Links booklink

Contact Us: admin [ a t ] ucptt.com