2017-09-14 60 views
-3

哪個編寫代碼更好?下面我有兩種方法來刪除一個項目及其父項。編寫一個函數然後在單擊垃圾桶圖標(First Way)時調用該函數或直接刪除它而不寫入任何新函數(第二種方法)會更好。哪個代碼更好?爲什麼?

可能有兩種情況:

  1. 我想再次重複某個動作,然後再次
  2. 我想要做這個動作只有一次。

在下面的例子中,我只需要這一次。

第一種方式:

function deleteTodoItem(e, item) { 
    e.preventDefault(); 
    $(item).parent().fadeOut('slow', function() { 
    $(item).parent().remove(); 
    }); 
} 
$(".middlepanel").on('click', '.fa.fa-trash', function(e){ 
    var item = this; 
    deleteTodoItem(e, item) 
}) 

方式二:

$('.middlepanel').on('click','.fa.fa-trash',function(){ 
    $(this).parent().fadeOut('slow',function(){ 
     $(this).parent().remove(); 
    } 
}) 
+1

我想你自己回答了這個問題。如果您打算重新使用代碼,則創建一個方法。否則,在事件本身寫入一次沒有問題 – Verthosa

+0

這會影響代碼的執行速度嗎?假設我只想執行一次這個動作,並有兩個選項來編寫如上所示的代碼 –

+1

如果您想多次使用該函數,那麼我會使用第一種方法。如果你只使用一次函數,那麼我會用第二種方法。我總是嘗試使用[KISS principe](https://en.wikipedia.org/wiki/KISS_principle)和[DNRY principe](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) – LinkinTED

回答

0

有一個在這個特定的例子中,沒有具體的 「更好」 的方式,因爲基本功能僅僅是包裝的東西該事件正在使用。

但是,在這種情況下,仍然是第一個代碼片段很好,因爲修改可能僅限於一個地方並且僅限於一處。 - 我猜 !!!

相關問題