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