code-smell

    1熱度

    3回答

    如果我有一個類,這個類有很多屬性。現在我想創建一個屬於這個類的具體方法,它應該帶6個參數。 我的問題是: 我應該創建這種方法爲靜態方法,並通過六個 參數? 或 創建一個實例方法,以避免將許多參數?(填充的對象,而不是傳遞參數) 在這裏,我問從對象的最佳實踐面向設計的視角。

    12熱度

    5回答

    如果我有一個類以某種方式表示映射到我的數據庫中的特定表。 此類包含約30個屬性。 我創建了CRUD Methods。 並發現自己需要另一個(UPDATE)方法,它應該只更新兩個字段。 我應該用一個簡單的例子以良好的方式做什麼? 用我的存在的方法,填補了整個對象,並更新所有包括我打算兩個字段的字段?(無用功)與另一名 - 創建靜態方法(但我要保持我的方法名的Cuz它的表現力)!!並且需要兩個參數?

    1熱度

    2回答

    我目前正在使用您可以稱爲遺留代碼的工作。我基本上有一個處理工作流的類,每次啓動機器時都只進行一次實例化。每當新用戶使用這臺機器並登錄時,就會啓動一個新的「會話」,但我們保持這個類的同一個實例。爲了簡單起見,可以說這臺機器是一臺自助服務機器。 這基本上意味着每次新用戶會話開始時,我們需要將所有流量變量重置爲其默認值。 所以通常我會實例/成員變量如: boolean didUserPressYes;

    3熱度

    1回答

    我answered a question regaurding一ImmutableMap。我建議使用代理模式。 問題在於Map包含put方法,該方法會拋出UnsupportedOperationException。用ImmutableMap代替Map的其他實例將打破Liskov的替代原則。不僅如此,需要申報put和putAll [違反接口隔離原則] 從技術上講,是沒有辦法用ImmutableMap

    1熱度

    1回答

    我正在寫一個函數,在兩個不同的服務上調用兩個不同的方法。我調用了一個對service1執行操作的方法,並且在調用成功時(沒有拋出異常),我調用調用service2的方法。 我的代碼如下: def action1(param1: String, param2: String): Option[String] = { try{ //Check if service1 contain

    -1熱度

    1回答

    我試圖表明有人在這裏我怎麼好找聲納 工具... 後來我寫了一個小的Java項目,並定義了許多故意臭方法,那些 2完全相同(複製粘貼+)DO1和DO2 surprisenly,運行後Sonnar鏡頭,沒有重複的錯誤,也沒有警告...... public void do1() { for (int i = 0; i < 10; i++) { if (i != 0) {

    1熱度

    4回答

    只是踢我決定寫一個片段,它需要一個整數並將其轉換爲二進制。它似乎在執行轉換,但我想知道是否有什麼我可能會從這裏錯過。得到一些反饋意見會很好。 由於 def convertToBinary(n: Int, bin: List[Int]): String = { if(n/2 == 1) { (1::(n%2)::bin).mkString(" ") } else {

    2熱度

    2回答

    說我有一個下面的代碼,可能不是很好的例子,但我只是想到了它;)。這是在java中, void saveData(Person person) { .... changePerson(person); .... personDAO.save(person); } void changePerson(Person person) { per

    0熱度

    1回答

    在我加入的一個項目,最近我們有一個類,看起來像這樣: class MethodReturn { public int status = C_OK public string message = "" public string str_value = "" public int int_value = 0 public double dbl_val

    0熱度

    3回答

    我創建了一個類,它是一個tuple包裝器,元組不支持項目突變。 我應該離開__setitem__和__delitem__的實現或實現像例如下面(因此屬於Refused Bequest代碼的氣味)?哪種方法更pythonic?在這種情況下,定製異常是否更好? def __setitem__(self, key, value): """ :raise: Always. :