tag:blogger.com,1999:blog-1298974142445162186.comments2024-03-19T15:58:12.198+08:00搞笑談軟工Teddy Chenhttp://www.blogger.com/profile/02066842119056439711noreply@blogger.comBlogger2147125tag:blogger.com,1999:blog-1298974142445162186.post-89053120631546644122024-03-19T15:58:12.198+08:002024-03-19T15:58:12.198+08:00補充一個沒有強調到的資訊,Robert C. Martin是敏捷宣言的17位元佬之一,
所以他的*個...補充一個沒有強調到的資訊,Robert C. Martin是敏捷宣言的17位元佬之一,<br />所以他的*個人意見*,是很有份量的。<br /><br />https://www.scrum.cn/scrum-knowledge-library/agilevaluesDouble Leehttps://www.blogger.com/profile/08524060249885560627noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-83066655569504144042024-03-11T09:11:59.937+08:002024-03-11T09:11:59.937+08:00已更新,謝謝提醒。已更新,謝謝提醒。Teddy Chenhttps://www.blogger.com/profile/02066842119056439711noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-34257671320276466862024-02-22T20:58:12.426+08:002024-02-22T20:58:12.426+08:00Persistence LayerPersistence LayerPiecehttps://www.blogger.com/profile/04042500623696208344noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-32683057974870541212024-02-14T21:01:30.636+08:002024-02-14T21:01:30.636+08:00你好,這篇已經死圖。請問可以更新圖片嗎?你好,這篇已經死圖。請問可以更新圖片嗎?某方的程式筆記https://www.blogger.com/profile/10338069966000570643noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-32598038379723038232023-11-11T15:46:16.762+08:002023-11-11T15:46:16.762+08:00我也很好奇這個問題,畢竟同屬一個 Bounded Context,兩個 Aggregate Root...我也很好奇這個問題,畢竟同屬一個 Bounded Context,兩個 Aggregate Root 應該可以捏在一起變成一個 Domain Service。Yami Odymelhttps://www.blogger.com/profile/00170622713650331664noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-6711520900839500742023-11-11T15:16:03.275+08:002023-11-11T15:16:03.275+08:00我目前Save的實作方式,如果用state sourcing加 ORM,就交給ORM去儲存即可,不用...我目前Save的實作方式,如果用state sourcing加 ORM,就交給ORM去儲存即可,不用自己下SQL。如果是Event Sourcing,就儲存domain event即可。Teddy Chenhttps://www.blogger.com/profile/02066842119056439711noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-89537959188903004092023-11-11T15:11:59.283+08:002023-11-11T15:11:59.283+08:00在 Stackoverflow 看過一則答案,Application Service 決定要做什麼(...在 Stackoverflow 看過一則答案,Application Service 決定要做什麼(What to do),Domain Service 決定怎麼做(How to do)。來源:https://stackoverflow.com/a/65461735/5203951<br /><br />所以當 Domain Service 執行結束,回傳的資料可以帶有 Domain Events(例如 Event[]),然後再由 Application Service 決定該怎麼處理這些事件(例如:可以直接透過 Publisher 發布這些事件)。<br /><br />這樣既保留了 Domain 來發出領域事件,又可以確切掌控、避免 Domain 重複發出事件。因為有太多人在 Domain 裡發布事件,結果事情可能還沒 Save 到持久化資料庫,就被其他服務當作已經處理完成。<br /><br />Yami Odymelhttps://www.blogger.com/profile/00170622713650331664noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-26783243642621058112023-11-11T13:33:54.054+08:002023-11-11T13:33:54.054+08:00Repository Pattern 講的太美好,但很少人提到 Save() 這個 Method 到...Repository Pattern 講的太美好,但很少人提到 Save() 這個 Method 到底怎麼實作。<br /><br />畢竟整個 Aggregate Root 傳進去,怎麼知道這個東西到底改了什麼、刪了什麼?我自己目前的臨時方法是參考自前端 Vuex 的 State Store,當 Aggregate Root 變更東西的時候,會往自己發送 Mutation 事件。<br /><br />Save() 執行的時候,再來看這個 Aggregate Root 有哪些 Mutations,例如 UserCreated, UsernameUpdated,這樣 Save() 就可以分別呼叫 SQL 的 INSERT INTO 然後再呼叫 UPDATE。Yami Odymelhttps://www.blogger.com/profile/00170622713650331664noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-58418697710663066422023-09-20T11:18:59.863+08:002023-09-20T11:18:59.863+08:00久等了,明天還有一集國文課「造句練習」,敬請期待。久等了,明天還有一集國文課「造句練習」,敬請期待。Teddy Chenhttps://www.blogger.com/profile/02066842119056439711noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-76765227269563354072023-09-20T09:42:56.756+08:002023-09-20T09:42:56.756+08:00這系列更新一等就是七年這系列更新一等就是七年fnaithhttps://www.blogger.com/profile/04013165218410614011noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-67747080516563861592023-09-01T10:19:07.193+08:002023-09-01T10:19:07.193+08:00感謝答覆!
感覺Wireframe 先畫完似乎比較好
因為這樣開發、UI在估算 User Story...感謝答覆!<br />感覺Wireframe 先畫完似乎比較好<br />因為這樣開發、UI在估算 User Story 的工時會更加準確<br /><br />又聯想到幾個問題:<br />1. 如果Wireframe 沒有先準備好,單就 User Story 來估算,是不是會常常遇到工時估計不準確的狀況呢?(畢竟還不是很確定會有多少欄位或功能邏輯)<br /><br />2. 若 Sprint 過程中,發現需要 Charge 工時,進而擠壓到其他 User Story 開發的時間,這樣的話,未完成的User Story 是不是就該回到 Product backlog 裡面?<br /><br />3. Sprint backlog 裡的 User Story 應該要拆解成多個 Task,但在 Wireframe 還未完成的裝況下,感覺就很容易拆解成:<br />(1) Wireframe 繪製<br />(2) UI 設計<br />(3) 開發實作<br />(4) 測試<br />(5) 驗收<br />感覺突然又有瀑布式的影子出現了XD<br />不太清楚 Task 的範圍、細度<br /><br />4. 如果User Story 相互依附的關係很高,是不是就乾脆整合成一個就好呢?<br /><br />舉例有個 User Story 是:<br />「身為交易用戶,我需要可以自由的新增/修改/查詢/刪除投資筆記,才能幫助我覆盤。」<br /><br />而另個依附性很高的 User Story 是:<br />「身為交易用戶,我需要可以在投資筆記上傳圖片,才能幫助我在覆盤過程對照線圖。」<br /><br />不太清楚在敏捷的概念下 User Story 顆粒要多細 QQ<br /><br />5. 請問新導入敏捷的初期若不用 story point 估算 story 大小,而單用小時估算 story 底下的 task ,會違背敏捷的精神嗎?dwfsrwerhttps://www.blogger.com/profile/07803833924762818519noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-86452643340363514882023-08-31T10:47:35.007+08:002023-08-31T10:47:35.007+08:00Wireframe 要在 Sprint Planning之前還是之後繪製,要看你們的需求與工作模式。...Wireframe 要在 Sprint Planning之前還是之後繪製,要看你們的需求與工作模式。如果你把繪製Wireframe當作需求探索的一部分,你可以在Sprint Planning之前繪製。反之,繪製Wireframe變成某個Story的工作項目之一。Teddy Chenhttps://www.blogger.com/profile/02066842119056439711noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-33422760626517996952023-08-31T10:27:49.746+08:002023-08-31T10:27:49.746+08:00你好,依照貴司的經驗, User Story 對應的 Wireframe 是在 Sprint Pla...你好,依照貴司的經驗, User Story 對應的 Wireframe 是在 Sprint Planning Meeting 前就已經繪製好的嗎?<br />還是說會列在每個 Story 對應的 Task 裡,後續由產品繪製呢?<br />dwfsrwerhttps://www.blogger.com/profile/07803833924762818519noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-49173478699407101702023-07-19T01:10:13.359+08:002023-07-19T01:10:13.359+08:00過度設計:為何我們有時會陷入這個陷阱? | 第三大脑
https://temberature.git...過度設計:為何我們有時會陷入這個陷阱? | 第三大脑<br />https://temberature.github.io/post/1a9_MXf8S/仝https://www.blogger.com/profile/09060328211140885796noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-41596203010732158542023-07-05T10:12:29.455+08:002023-07-05T10:12:29.455+08:00IKEA 餐巾架?以前用過一陣子
https://www.ikea.com.tw/zh/produc...IKEA 餐巾架?以前用過一陣子<br />https://www.ikea.com.tw/zh/products/set-the-table/napkins/greja-art-30342851chchwyhttps://www.blogger.com/profile/14612064094781777200noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-84095735477452789812023-05-19T07:31:57.253+08:002023-05-19T07:31:57.253+08:00請問一下,我的MAC air 2011裝win7升win10後bootcamp的Fn鍵就無法用了,不...請問一下,我的MAC air 2011裝win7升win10後bootcamp的Fn鍵就無法用了,不知道您的是否正常?亞當斯https://www.blogger.com/profile/14530217286211355499noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-65883789386472175062023-03-31T10:05:02.782+08:002023-03-31T10:05:02.782+08:00中心化和去中心化好像是分久必合合久必分的讨论。有一项原则值得关注就是不要高估人类的智力。保持软件简单...中心化和去中心化好像是分久必合合久必分的讨论。有一项原则值得关注就是不要高估人类的智力。保持软件简单很必要。如果除去了类似代码导致了在智力上理解的难度其实很得不偿失。而天天泡在熟悉项目里的人很难察觉到这差距。是否触发合并删除也有个数字3吧。因为2如果少了一个那么剩下的一个独立中心化的东西会非常尴尬Markhttps://www.blogger.com/profile/13921250437722766658noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-34673021655435757622023-03-31T09:45:27.205+08:002023-03-31T09:45:27.205+08:00对于企业首先它要有能力衡量出测试的价值。从程序员自身角度来说写可测试程序有利于提升程序员的自信。很多...对于企业首先它要有能力衡量出测试的价值。从程序员自身角度来说写可测试程序有利于提升程序员的自信。很多bug是来自程序员的自负。也有利于职业道德使命吧。有的人只是混混赚钱营生。有的人想乐在其中一辈子Markhttps://www.blogger.com/profile/13921250437722766658noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-68915511016975192832023-03-31T09:25:38.031+08:002023-03-31T09:25:38.031+08:00但是苹果的思想是很明确的就是简单化问题。因为大部分使用场景不需要插那么多乱七八糟的东西 port是主...但是苹果的思想是很明确的就是简单化问题。因为大部分使用场景不需要插那么多乱七八糟的东西 port是主动设计,adapter是被动救急。 对非专业人员用port 对于有点专业的用adapterMarkhttps://www.blogger.com/profile/13921250437722766658noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-79616015881395922362023-03-29T08:51:19.284+08:002023-03-29T08:51:19.284+08:00对于「在開頭寫下try-catch-finally敘述」 我的理解是这样的,其实这个问题很容易发现,...对于「在開頭寫下try-catch-finally敘述」 我的理解是这样的,其实这个问题很容易发现,就是一个method里只有一部分代码被try-catch了。其他的方法都在之外。但是其他代码按照道理也可能出现exception。所以说既然已经用了一个trycatch了。还不如把所有代码都放到里面。然后模糊下exception的级别(这可能是另一个比较大的话题)。保证method输出的简单性。 至于像参数声明 这个无所谓的。主要是有逻辑的地方需要trycatchMarkhttps://www.blogger.com/profile/13921250437722766658noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-33352728684709675112023-02-08T10:40:19.939+08:002023-02-08T10:40:19.939+08:00自己用起來的心得和您差不多,我問了一些熟悉領域的問題,發現ChatGPT回答偶爾會出現小錯,但如果不...自己用起來的心得和您差不多,我問了一些熟悉領域的問題,發現ChatGPT回答偶爾會出現小錯,但如果不是非常熟悉問題的domain,可能難以發現那個錯誤,導致要花更多時間debug/分析。Eric CY Chenhttps://www.blogger.com/profile/04282619810470719685noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-70850235088527526932023-01-14T23:03:03.250+08:002023-01-14T23:03:03.250+08:00謝謝你,我正在準備面試 所以看到你這個文章謝謝你,我正在準備面試 所以看到你這個文章bs-ihttps://www.blogger.com/profile/04759256005465363112noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-54685083957017895042022-11-24T16:51:39.421+08:002022-11-24T16:51:39.421+08:00CMMI 每個實踐在評估時,要從產出和訪談二個維度進行考察,但並沒有要求文件一定要有多少,什麼內容或...CMMI 每個實踐在評估時,要從產出和訪談二個維度進行考察,但並沒有要求文件一定要有多少,什麼內容或什麼格式。只是執行的人過度作業,有如過度設計,這是 CMMI 被誤解的主要原因<br /><br />thomashttps://www.blogger.com/profile/16090560708782813658noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-46338416797929163612022-09-26T19:13:24.358+08:002022-09-26T19:13:24.358+08:00If you are tempted to return null from a method, c...If you are tempted to return null from a method, consider throwing an exception or returning a SPECIAL CASE object instead. -Robert C. Martin<br /><br />看來2位大師唯一有共識的是"returning a SPECIAL CASE object instead".<br />jnhttps://www.blogger.com/profile/06002384832632366899noreply@blogger.comtag:blogger.com,1999:blog-1298974142445162186.post-33100589810112692522022-05-12T10:03:39.098+08:002022-05-12T10:03:39.098+08:00正好寫了一篇同名的文章,跟大家一起分享。
https://buttondown.email/tech...正好寫了一篇同名的文章,跟大家一起分享。<br />https://buttondown.email/tech_management_mindset/archive/ding-yi-hen-zhong-yao/周乃宏https://www.blogger.com/profile/06393680032983754828noreply@blogger.com