讓方法更加通用和降低引數的學習成本(二)

2021-10-14 09:33:21 字數 1694 閱讀 5982

在定義介面的時候,為了更加通用,可能會定義一些不是必須的引數,例如:

function m:

updateui

(star_level, wake_level, horizontalalignment, hintervalpercent)

--(布局) 預設居中

self.horizontalalignment = self.horizontalalignment or

1--(間隔) 預設每顆星星間隔為0

self.hintervalpercent= self.hintervalpercentor 0

-- 生成star_level數量個星星ui

for _ =

1, star_level do

-- 根據wake_level初始化星星顏色

self:

spawnstar

(wake_level)

end-- 根據布局和間隔重新整理ui

self:

root()

:refresh()

end

上面的介面中前兩個引數是必須的,因為星星數量和顏色都是需要特別指定的,無法確認預設情況。但是布局和間隔引數是不常用的,因為在做需求的時候會發現這個ui基本都是居中顯示和沒有間隔的,那麼在大多數情況下第一次看這個介面的人需要學習4個引數,在這種時候可以將不常用的引數拆分出來。

-- 初始化給預設值

function m:

init()

--(布局) 預設居中

self.horizontalalignment =

1--(間隔) 預設每顆星星間隔為0

self.m_hintervalpercent =

0end

-- 設定布局

function m:

horizontalalignment

(horizontalalignment)

self.horizontalalignment = horizontalalignment

-- 根據布局和間隔重新整理ui

self:

root()

:refresh()

end-- 設定間隔

function m:

sethinterval

(hintervalpercent)

self.m_hintervalpercent = hintervalpercent

-- 根據布局和間隔重新整理ui

self:

root()

:refresh()

endfunction m:

updateui

(star_level, wake_level)

-- 生成star_level數量個星星ui

for _ =

1, star_level do

-- 根據wake_level初始化星星顏色

self:

spawnstar

(wake_level)

end-- 根據布局和間隔重新整理ui

self:

root()

:refresh()

end

這樣定義的好處是在大多數場景下使用者只需要學習兩個引數就會使用這個生成星星ui的指令碼,只有極少數需求特別的情況下使用者才需要去找設定布局和間隔的方法,降低了學習成本。

引數化構造的通用查詢方法

下面是乙個非分頁的引數化構造的通用查詢方法 引數化查詢資料表 資料庫連線 表明 查詢的引數 查詢條件 前多少條 排序 查詢的字段 資料表 public static datatable getdatatable idbhelper dbhelper,string tablename,list par...

技術學習的通用方法

1 重複 技能掌握最本質途徑就是不斷重複。中國的老祖宗們早就將這一真諦記錄位耳熟能詳的成語 熟能生巧。庖丁解牛的故事都是千百年來關於技能掌握的最好詮 釋 無他,唯手熟爾。2 以賽代練 以賽代練 的本質就是通過實戰來快速提高技能。練習的目的就是為了比賽,所以直接在比賽中進行鍛鍊,可以說是手段與目的合二...

降低過擬合和欠擬合的方法

降低過擬合的方法 1.從資料入手,獲得更多的訓練資料。使用更多的訓練資料是解決過擬合最有效的手段,因為更多的樣本能夠讓模型學習到更多更有效的特徵,減小雜訊的影響。直接增加實驗資料很難,可以通過一定的規則來擴充訓練資料。如,通過影象的平移,旋轉,縮放等方式。還可以用gan來合成。2.降低模型的複雜度,...