看板 Soft_Job 關於我們 聯絡資訊
※ 引述《tyc5116 (累人啊....)》之銘言: : 如題,因為不知道適合PO在哪個板問,看來看去好像這裡比較適合的樣子 : 如果不妥我再轉板 : 我在接手別人的程式後,發現他架構有需要重構的地方 : 程式分了數個小模組(a和b都是一個模組) : class a{ : void func(); : ... : }; : class b{ : void func(); : ... : ; : ... : 其中每個模組的func程式碼都是一樣的 : 所以我想說就再拉出一個介面,並實作這個func,a和b都繼承這個介面 : 這樣這段重覆的程式碼就可以省掉了 : 因為改成這樣的方式變動有點大,所以尊重一下主管,跟主管說一聲,看能不能這樣改 : 但是主管卻說,程式內有很多個thread,若以這樣的方式來寫,可能在同一時間 : 會有很多地方都會執行到func,造成debug的不易,不然就還要再類別內加個屬性, 抱歉,不是很懂 這個重構方法跟 thread 有什麼關係 thread 會不會有問題,應該是看實體,而不是看程式碼 也就是不同 thread 存取同一個實體,才會有問題 目前想不到會讓 thread 不安全的例子,我個人會傾向重構 : 用來辨別目前執行func的是哪一個模組,雖然說目前是將同樣的func : 寫在各別的模組內,但是這樣在debug時會比較容易作區分,然後他不贊成我改@@ 另外也不懂,為什麼debug時會比較容易作區分? 我個人的傾向,除非造成 debug 很大的影響,否則不該複製 如果對 debug 只有小影響,那應該是要另外去想其它較好的 debug 方式 : 我對這個理由其實不太認同的,我是覺得加個屬性作為區分即可 : 然後程式都會跑到相同的地方,debug應該會變的更容易才對阿!! : 不知道大家的看法如何? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.46
TonyQ:這跟 thread safe 沒有關係,這講的是 breakpoint 會不會 07/24 18:26
TonyQ:被干擾。在multi-thread 的情況下如果對 func 設 breakpoint 07/24 18:27
TonyQ:會所有模組都被打中,不過這也是很好解決的,設 07/24 18:28
TonyQ:conditional breakpoint 就行了。 07/24 18:28
TonyQ:從我的角度來看,假設原 po 講的是完全一樣的話,我會選擇 07/24 18:29
TonyQ:下手,然後"測試"。 07/24 18:29
goliathplus:要看他 func 內部在做啥比較準 07/24 18:44