iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 24
0

消除變數

不必要的暫存變數

now = datetime.datetime.now()
root_message.last_view_time = now

now是個有必要變數嗎?不是,原因如下:

  • 不是分解複雜表示式的結果。
  • 程式沒有更更加明確- datetime.datetime.now() 表示式已經夠清楚了。
  • 只使用一次,沒有消除任何重複程式碼。

消除中間結果

var remove_one = function(array,value_to_remove) {
    var index_to_remove = null;
    for (var i = 0;i <array.length; i += 1) {
        if (array[i] === value_to_remove) {
            index_to_remove = i;
            break;
        }
    }
    if (index_to_remove !== null){
        array.splice(index_to_remove ,1);
    }
};

利用儘早返回,能同時消除index_to_remove並簡化程式碼。

var remove_one = function(array,value_to_remove) {
    for (var i = 0;i <array.length; i += 1) {
        if (array[i] === value_to_remove) {
            index_to_remove = i;
            array.splice(i ,1);
            return;
        }
    }
};

一般而言,「儘快完成工作」是個好習慣。

Reference

  • <<易讀程式之美學-提升程式碼可讀性的簡單法則 >>(The Art of Readable Code)

上一篇
分解巨大表示式--3
下一篇
變數與可讀性--2
系列文
易讀程式之美學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言