yagni

    1熱度

    1回答

    我最近開始做一些愛好遊戲編程。當我第一次開始時,我傾向於試圖設計抽象。即使我有一個特定的遊戲,我會問自己如何在多種遊戲和類型的遊戲中使用每個元素。我開始意識到,這實際上是帶來了一個具體的遊戲存在的不合。因此,我從頭開始寫代碼,以滿足我所想的遊戲(只有那個遊戲)的要求。我仍然創造了抽象,但只有當這個遊戲本身需要它時。我對這種做事方式很滿意。我覺得代碼只處於所討論的遊戲所需的正確抽象層次。 我的問題是

    1熱度

    2回答

    我目前正在建立兩個自定義驗證程序,延伸Zend_Validate_Abstract,分別命名爲Lib_Validate_TimeAfter和Lib_Validate_TimeBetween。這些名稱非常簡單,第一個用於測試日期/日期時間/時間是否在另一個之後,第二個用於測試日期/日期時間/時間是否在兩個其他日期/日期時間/時間之間。 這兩項驗證器將依靠名爲_buildDate($value)它取一

    11熱度

    13回答

    對於我的軟件開發編程類,我們應該爲RSS提要製作一個「Feed Manager」類型的程序。以下是我如何處理FeedItems的實現。 尼斯和簡單: struct FeedItem { string title; string description; string url; } 我被下調爲, 「正確」 的答案例子如下: class FeedItem { p

    2熱度

    2回答

    我需要重寫舊的舊版桌面應用程序。這是一個小型的非Java桌面程序,仍然支持幾個內部用戶社區的日常任務。 應用程序既陳舊又不再受支持的語言。我是一名初級開發人員,我需要重寫它。爲了避免app rewrite sinkhole,我打算開始使用現有的數據庫&數據結構(雖然有一些明顯的侷限性,但是像重構一樣痛苦,這種方法可以更快速地完成最初的工作,並避免遷移,這兩者都是成功的關鍵)。 我的挑戰是我對Kee

    8熱度

    3回答

    The Pragmatic Programmer很多人都很喜歡recommended。我剛讀完它,我可以明白爲什麼人們會推薦它,但我會指出,「代碼完整版」涵蓋了幾乎所有相同的材料。 但是,有一件事給我帶來了困擾,就是作者從來沒有提到靈活性的任何缺點,概括和爲未來發展留下空間。這些概念都非常好,但是YAGNI(你不會需要它)的原理髮生了什麼事情,它可以防止開發人員浪費時間實現永遠不會被使用的靈活性?

    15熱度

    6回答

    隨着我越來越多地將敏捷思維融入工作方式,yagni(「你不會需要它」)似乎變得越來越重要。在我看來,這是最有效的規則之一,用於過濾出被誤導的優先事項,並決定接下來要處理的內容。 然而yagni似乎是一個在這裏幾乎沒有耳語的概念。我運行了強制性搜索,它只顯示在一個問題標題中 - 然後是次要角色。 這是爲什麼?我是否高估其重要性? 免責聲明。爲了搶先回應,我確信我會反對,讓我強調yagni是與快速和骯

    3熱度

    2回答

    現在,我的代碼在我的主數據庫訪問類中創建了數據庫(只是SQLite數據庫上的一些CREATE查詢)。這似乎是不必要的,因爲我無意使用代碼。如果出現問題,我只需要它,我需要重新創建數據庫。我應該... 儘管數據庫創建代碼大約是我的文件大小的四分之一,但事實保持不變。 將數據庫創建代碼移至單獨的腳本。如果我仍然需要再次運行它,那麼很可能我會手動運行它,並且在處理主代碼時會讓它看起來不知所措。 刪除數據

    2熱度

    5回答

    YAGNI可以使用過去式嗎?您創建了一些功能,前一段時間使用了它,但您不再使用它,並且不想維護它,因此您寧願刪除它。 擺脫未使用或很少使用的功能是一件壞事嗎? 背景: 我使用源代碼控制,所以如果我再需要的功能,我可以得到它。 我是我軟件的唯一用戶(我是分析數據集的生物信息學家)。 我遇到過這種情況的一種情況是,我使用了繼承,父類和兩個子類。一個是處理由454測序產生的文件(下一代測序),另一個是處

    4熱度

    1回答

    很明顯,YAGNI和KISS之間存在句法上的差異,但是我看不到它們之間的語義差異。他們真的基本上是一樣的嗎?

    7熱度

    9回答

    他們矛盾嗎? 解耦是一件很棒的事,很難實現。然而,在大多數應用程序中,我們並不需要它,所以我可以設計高度耦合的應用程序,除了明顯的副作用,例如「你不能分離組件」之外,它幾乎不會改變任何東西,「單元測試在屁股「等。 你覺得呢?你總是試圖解耦和處理開銷?