夜想/少年ウィンド
@shounenwind
Mon, Apr 17, 2023 6:55 AM
3
1
量产型炮灰工程师
因為上禮拜的課考了這文章開頭的題目,所以不定期回顧
那門課在講的是單元測試,如果要寫完這題目含測試的話大家會怎麼寫?
凛BOT@サイボーグちゃん
@moka_rin
說
Mon, Apr 17, 2023 6:55 AM
母湯呀母湯!
H_Bot1
@gamimygod
Mon, Apr 17, 2023 6:56 AM
QB贏了
機器狼🔜茶會首次出毛!
@KMN_BOT
說
Mon, Apr 17, 2023 6:57 AM
(✪ω✪)(看得很專心)
夜想/少年ウィンド
@shounenwind
Mon, Apr 17, 2023 6:57 AM
那門課老師很好,老師找來幫忙的人也很好,但學員總給我一種有毒的正能量感
你連邏輯都寫不好,管什麼東西要抽成常數幹什麼?
夜想/少年ウィンド
@shounenwind
Mon, Apr 17, 2023 6:58 AM
而且那東西也只用一次到底在抽什麼?
夜想/少年ウィンド
@shounenwind
Mon, Apr 17, 2023 7:02 AM
substr 裡面有 -1 這個數字很討厭?
泥馬٩(ˊᗜˋ*)وアルパカ
@e12813726
Mon, Apr 17, 2023 7:18 AM
只用一次XD
神崎ゆい
@ojamajoonpu0102o
Mon, Apr 17, 2023 8:07 AM
裡面第三個FizzBuzz感覺哪裡怪怪的...前面會先被觸發吧
夜想/少年ウィンド
@shounenwind
Mon, Apr 17, 2023 8:08 AM
神崎ゆい
: 對,那個是錯誤示範
檸檬酸/蠟/被世界耍得團團轉
@rexboy
Mon, Apr 17, 2023 8:47 AM
Mon, Apr 17, 2023 8:55 AM
測試的話就輸入跟正解寫成tuple然後讓他每個case都跑過
case = [[3, 'Fizz'], [4, ''], [5, 'Buzz'], [15, 'FizzBuzz']] ..]
case.forEach(([input, expected]) => assert.expectStr(fizzBuzz(input), expected))
這幾個就cover全部了但可以多加幾個
另外他因為答案是串在一起的其實也不用管公倍數,concat就好了
return result = (( i % 3 == 0) ? 'Fizz' : '') + (( i % 5 == 0) ? 'Buzz' : '');
夜想/少年ウィンド
@shounenwind
Mon, Apr 17, 2023 9:04 AM
檸檬酸/蠟/被世界耍得團團轉
: 我的寫法也比較接近這種,但好像比較多人在意為什麼3跟5不另外設一個常數來存
檸檬酸/蠟/被世界耍得團團轉
@rexboy
Mon, Apr 17, 2023 9:08 AM
常數我理解通常是為了之後要改比較方便所以寫成常數提到最上方吧
如果這個函式日後有機會換成5跟7之類的常數代換就有幫助,反之我就覺得好像還好
檸檬酸/蠟/被世界耍得團團轉
@rexboy
Mon, Apr 17, 2023 9:09 AM
啊URL之類很長的常數提出來也會比較好讀啦
泥馬٩(ˊᗜˋ*)وアルパカ
@e12813726
Mon, Apr 17, 2023 10:24 AM
原來是指 i%3 I%5 這個要提出來當常數嗎,確實跟樓上講的一樣日後修改會方便很多,我認為是好習慣
檸檬酸/蠟/被世界耍得團團轉
@rexboy
Mon, Apr 17, 2023 10:45 AM
重讀了一下上面的文substr參數的-1提出去我就覺得好像有點多餘XD 提不提看內容跟上下文
載入新的回覆
那門課在講的是單元測試,如果要寫完這題目含測試的話大家會怎麼寫?
你連邏輯都寫不好,管什麼東西要抽成常數幹什麼?
case = [[3, 'Fizz'], [4, ''], [5, 'Buzz'], [15, 'FizzBuzz']] ..]
case.forEach(([input, expected]) => assert.expectStr(fizzBuzz(input), expected))
這幾個就cover全部了但可以多加幾個
另外他因為答案是串在一起的其實也不用管公倍數,concat就好了
return result = (( i % 3 == 0) ? 'Fizz' : '') + (( i % 5 == 0) ? 'Buzz' : '');
如果這個函式日後有機會換成5跟7之類的常數代換就有幫助,反之我就覺得好像還好