Ptt-official-app / go-bbs

BBS file database manager system library in Golang.
Apache License 2.0
80 stars 43 forks source link

Feature/#79 看板發文限制以及細部資訊 #80

Closed nickyanggg closed 3 years ago

nickyanggg commented 3 years ago

👏 解決掉的 issue / Resolved Issues

⛏ 變更內容 / Details of Changes

y2468101216 commented 3 years ago

LGTM

PichuChen commented 3 years ago

實作方式這樣有問題,可以直接把設定值export到 interface 去而不是回傳 map 這樣嗎?

interface 的部分不一定通通要擠在一個大的 interface 裡面,可以稍微拆分成不同類別的 interface

y2468101216 commented 3 years ago

實作方式這樣有問題,可以直接把設定值export到 interface 去而不是回傳 map 這樣嗎?

interface 的部分不一定通通要擠在一個大的 interface 裡面,可以稍微拆分成不同類別的 interface

這樣的話直接回傳 struct 更好吧?

PichuChen commented 3 years ago

實作方式這樣有問題,可以直接把設定值export到 interface 去而不是回傳 map 這樣嗎? interface 的部分不一定通通要擠在一個大的 interface 裡面,可以稍微拆分成不同類別的 interface

這樣的話直接回傳 struct 更好吧?

他本身就是回傳 struct 了。更精確來說他本來是回傳 interface BoardRecord

所以需要定義的是一個 BBS 的 BoardRecord 哪些 Setting 值是一定會有需要實作的,哪些是分開定 Interface 的,那這樣在應用上的話可以用 b, ok := ret.(xxxInterface) 這樣知道這個 BBS 系統的看板有實作這些設定值

nickyanggg commented 3 years ago

實作方式這樣有問題,可以直接把設定值export到 interface 去而不是回傳 map 這樣嗎?

interface 的部分不一定通通要擠在一個大的 interface 裡面,可以稍微拆分成不同類別的 interface

可能要再麻煩幫忙 review 一下是不是有符合上面的意思,感謝。

另外想問一下改成這種方式的確感覺會更加彈性且合理,但原本回傳 map 的實作方式會在哪一段遇到問題呢?

PichuChen commented 3 years ago

實作方式這樣有問題,可以直接把設定值export到 interface 去而不是回傳 map 這樣嗎? interface 的部分不一定通通要擠在一個大的 interface 裡面,可以稍微拆分成不同類別的 interface

可能要再麻煩幫忙 review 一下是不是有符合上面的意思,感謝。

另外想問一下改成這種方式的確感覺會更加彈性且合理,但原本回傳 map 的實作方式會在哪一段遇到問題呢?

map 的話會在效能上有問題,不過比較大的問題應該還是在慣例上。通常在這部分並不會用 map 去做處理。

另外是Map 的話Key值的部分假如未來要修改時因為是字串,會容易出現Bug, 目前的 method name 算是比較暫時的,因為沒有一個文件去描述為什麼是這些method name