一個由isUndefined引起的爭議

handlerOper(operInfo, node) {
  const graphInst = this.graphInst
  this.operateNodes = isUndefined(node) ? graphInst.getSelectedNodes() : [node]
      ......
}

由上面的代碼神郊,今天我的同事問了我一個問題肴裙,“這里你非得用lodash的isUndefined的嗎趾唱?”為什么不把

isUndefined(node)

換成

node ?  [node] : graphInst.getSelectedNodes() 

或者

!node ?  graphInst.getSelectedNodes()  :  [node] 

我答,“我想更確定的表達什么情況下會執(zhí)行為‘true’的情況蜻懦,什么情況會執(zhí)行‘false’的情況”甜癞。
他問,“你不就是要表達node存在與不存在時的邏輯嗎宛乃?我那種也行啊”
我答悠咱,“不存在就是用undefined來表達嗎,我這樣不很清楚嗎”

后來同事非常不情愿的結束了對話征炼,當然我也沒有讓他認可析既。

能有這個認識是在之前的創(chuàng)業(yè)公司的前輩告訴我,避免使用隱式類型轉換谆奥,盡量不要用眼坏,等于與不等的判斷也要盡量用!==和 ===,當時的我并沒有因為隱式轉換而踩過什么坑雄右,但是他們是有過的空骚,但我認可這一點的原因主要是來源于這樣帶來的可讀性纺讲。

邊寫邊來分析一下同事的question擂仍,他的為什么會知道我要表達的是存在與不存在?而不是“為空字符串與不為空字符串”熬甚,“為零不為零”逢渔,“為空數組不為空數組”,“為空對象不為空對象”乡括?
他能這么認定肃廓,你們也許會說是對業(yè)務上下文理解。是的诲泌,但如果是對于維護代碼的新同事那是不是會有以上的疑問呢盲赊,按照他覺得的寫法。

同事還說敷扫,如果node是null或者其他不符合要求的node走到后面的邏輯哀蘑,后面的處理就會報錯了。當時我并沒有回答他這個問題葵第,現在想來绘迁,不符合的node格式在這里不是我需要cover的,而是使用node的地方需要cover的卒密,我這里只是判斷是否有node傳入缀台。

有時代碼可讀性就像潤物的春雨一樣無聲,只有你讀過好的代碼哮奇,你才能知道什么是壞代碼的味道膛腐。有人說讀不懂代碼也許不是別人寫得不好躬窜,而是你能力不夠,但是我認為针史,能夠讓別人花10秒鐘讀懂的代碼為什么要讓別人花10分鐘去理解上下文材鹦。

Whatever,每個人都有每個人寫代碼的風格律罢,然而喜歡和誰一起寫代碼就體現大家的favor膀值。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市误辑,隨后出現的幾起案子沧踏,更是在濱河造成了極大的恐慌,老刑警劉巖巾钉,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件翘狱,死亡現場離奇詭異,居然都是意外死亡砰苍,警方通過查閱死者的電腦和手機潦匈,發(fā)現死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赚导,“玉大人茬缩,你說我怎么就攤上這事『鹁桑” “怎么了凰锡?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長圈暗。 經常有香客問我掂为,道長,這世上最難降的妖魔是什么员串? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任勇哗,我火速辦了婚禮,結果婚禮上寸齐,老公的妹妹穿的比我還像新娘欲诺。我一直安慰自己,他們只是感情好访忿,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布瞧栗。 她就那樣靜靜地躺著,像睡著了一般海铆。 火紅的嫁衣襯著肌膚如雪迹恐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天卧斟,我揣著相機與錄音殴边,去河邊找鬼憎茂。 笑死,一個胖子當著我的面吹牛锤岸,可吹牛的內容都是我干的竖幔。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼是偷,長吁一口氣:“原來是場噩夢啊……” “哼拳氢!你這毒婦竟也來了?” 一聲冷哼從身側響起蛋铆,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤馋评,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后刺啦,有當地人在樹林里發(fā)現了一具尸體留特,經...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年玛瘸,在試婚紗的時候發(fā)現自己被綠了蜕青。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡糊渊,死狀恐怖右核,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情再来,我是刑警寧澤蒙兰,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布磷瘤,位于F島的核電站芒篷,受9級特大地震影響,放射性物質發(fā)生泄漏采缚。R本人自食惡果不足惜针炉,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望扳抽。 院中可真熱鬧篡帕,春花似錦、人聲如沸贸呢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽楞陷。三九已至怔鳖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間固蛾,已是汗流浹背结执。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工度陆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人献幔。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓懂傀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蜡感。 傳聞我的和親對象是個殘疾皇子蹬蚁,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內容

  • 今天沒有堅持太極球,早上起不來郑兴,對不起師父師母我錯了缚忧!我得好好堅持練習 感悟:今天租了房子,搬東西過去的時候杈笔,車子...
    吳丹丹丹閱讀 153評論 0 0
  • 也談忠奸:命運的車輪 ——觀《大明王朝1566》有感而發(fā) 賦閑在家實在閑來無事闪水,平日基本不看劇的我破天荒地追了今年...
    小紅兔子閱讀 997評論 2 8
  • 今天我早起了,比起上學時候的起早貪黑算不上什么蒙具,但我為我的作息即將走上正軌而感到小小的滿足球榆。 像我一樣的年輕人...
    今天也要早睡鴨閱讀 348評論 0 0
  • 小夏_3f26閱讀 215評論 0 0