Fw: [問卦] 寧寧雞寫程式時是用space還是tab縮排已回收

看板C_Chat作者 (可魯貝洛斯)時間8年前 (2017/08/31 14:52), 8年前編輯推噓46(51541)
留言97則, 60人參與, 最新討論串1/3 (看更多)
※ [本文轉錄自 Gossiping 看板 #1Pfw8CCA ] 作者: reinforce15 (可魯貝洛斯) 看板: Gossiping 標題: Re: [問卦] 寧寧雞寫程式時是用space還是tab縮排 時間: Thu Aug 31 13:43:38 2017 ※ 引述《justwe5566 (傑士塔紗路的老公)》之銘言: : 乳提 : 可愛的寧寧雞 : http://i.imgur.com/P5c7HIF.jpg
: 最近開始學寫程式 : 不知道寧寧雞縮排都用space還是tab : 好想知道喔 : U咪U寧寧雞是space派還是tab派的八卦? 你好 我好 各位姆咪好 我是小光 http://i.imgur.com/1fhF9x3.jpg
我覺得她應該是用space吧 不過本光還是喜歡用快捷鍵一鍵縮排 讚 話說第二季好好看喔 那隻貓也好可愛 第二季 第09分第34秒處 http://i.imgur.com/35hXCjk.png
上圖是寧寧原本的code 把他轉OCR // void DestructibleActor::ReceiveDamage(float sourceDamage) { // auto resolvedDamage = sourceDamage; for (const auto& debuf:m_debufs) { resolvedDamage = debuf.ApplyToDamage(resolvedDamage); m_currentHealth -= resolvedDamage if (m_currentHealth <= 0.f) { m_currentHealth = 0.f; DestroyMe(); } } } 而且寧寧說執行時會卡住 好 讓我們來看看問題出在哪 首先 請各位姆咪們先看到第37行 DestroyMe() 有沒有發現? 這個DestroyMe()只有在血條小於等於0時才會被call 再來請姆咪們看到第34行這裡 也就是說 如果當 m_currentHealth 小於等於 0.f時 會一直是true的狀態 而一直去重複執行DestroyMe() 但又因DestroyMe()之前已經被call過了 可能會造成記憶體沒有東西可以讓DestroyMe()消除 所以記憶體有可能會被違法存取 而導致系統不穩 最終當機 本光想到的解法是把 } 號移到這裡 像這樣 // void DestructibleActor::ReceiveDamage(float sourceDamage) { // auto resolvedDamage = sourceDamage; for (const auto& debuf:m_debufs) { resolvedDamage = debuf.ApplyToDamage(resolvedDamage); } m_currentHealth -= resolvedDamage if (m_currentHealth <= 0.f) { m_currentHealth = 0.f; DestroyMe(); } } 如此一來 既能把第30行的for 與第34行的if分離開來 不會重複去DestroyMe 又能把Damage丟到迴圈外 不過有點疑問的是... 這樣寫不會在編譯時就跳出警告 或就直接出錯嗎? 我在猜啦 可能造成遊戲卡死的原因不是只有這個 其他地方可能也有logic上的問題 還有寧寧的compiler左側那欄我怎麼看都沒References 這樣沒問題嗎 啊對 海子那個應該可以用Qt來做到 只是沒她的source code -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.136.48 ※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1504158220.A.30A.html

08/31 13:45, , 1F
先推 免得人家以為我看不懂
08/31 13:45, 1F

08/31 13:45, , 2F
肥宅的時間真多
08/31 13:45, 2F

08/31 13:45, , 3F
這個分析早就看過了
08/31 13:45, 3F

08/31 13:45, , 4F
大哥 今天天氣很好耶 不考慮出個門嗎?
08/31 13:45, 4F

08/31 13:45, , 5F
文組的看不懂
08/31 13:45, 5F

08/31 13:47, , 6F
小洸棒棒der
08/31 13:47, 6F

08/31 13:52, , 7F
08/31 13:52, 7F
※ 編輯: reinforce15 (1.161.136.48), 08/31/2017 13:54:31 ※ 編輯: reinforce15 (1.161.136.48), 08/31/2017 13:57:58

08/31 14:01, , 8F
哩金變態
08/31 14:01, 8F
※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: reinforce15 (1.161.136.48), 08/31/2017 14:51:58

08/31 14:53, , 9F
看動畫學叩定
08/31 14:53, 9F

08/31 14:54, , 10F
你在專業甚麼啦XD
08/31 14:54, 10F

08/31 14:55, , 11F
用tab有些語言有機率出錯 學校都是教space
08/31 14:55, 11F

08/31 14:55, , 12F
誰用tab縮排 我跟他拼命
08/31 14:55, 12F

08/31 14:56, , 13F
文組看不懂QQ
08/31 14:56, 13F

08/31 14:56, , 14F
為什麼不用break?
08/31 14:56, 14F

08/31 14:57, , 15F
平常都用 2-space 的 (是說這邊 break 出來再 Destroy 就好?
08/31 14:57, 15F

08/31 14:58, , 16F
linux kernel 都用 tab 縮排,快去罵 Torvalds
08/31 14:58, 16F

08/31 14:58, , 17F
你這樣是算錯的吧, resolvedDamage只會算到第一種
08/31 14:58, 17F

08/31 14:59, , 18F
我都是用tab 縮排欸 qq
08/31 14:59, 18F

08/31 14:59, , 19F
不然幹嘛寫for迴圈
08/31 14:59, 19F

08/31 14:59, , 20F
最後一種
08/31 14:59, 20F

08/31 15:00, , 21F
哪個學校那麼無聊教這個。用哪種是要配合所在團隊/專案
08/31 15:00, 21F

08/31 15:00, , 22F
是在專業什麼啦
08/31 15:00, 22F

08/31 15:00, , 23F
space?tab?不是都自動縮嗎
08/31 15:00, 23F

08/31 15:01, , 24F
的coding standard, 整個專案要一致, 個人不能隨意亂弄
08/31 15:01, 24F

08/31 15:01, , 25F
不過也有看過說因為 tab size 可以用編輯器調所以用 tab
08/31 15:01, 25F

08/31 15:01, , 26F
快推不然別人以為我看不懂
08/31 15:01, 26F

08/31 15:03, , 27F
寧寧雞好可愛 >D<
08/31 15:03, 27F

08/31 15:04, , 28F
我記得 Python 縮排一定要用 Tab 吧
08/31 15:04, 28F

08/31 15:04, , 29F
C++ 用什麼都沒差的樣子
08/31 15:04, 29F

08/31 15:05, , 30F
VC可以設定要tab還是space 我個人是比較喜歡tab
08/31 15:05, 30F

08/31 15:05, , 31F
python 不用喔 記得只要一致就好了
08/31 15:05, 31F

08/31 15:07, , 32F
Makefile 是一定要 tab 啦
08/31 15:07, 32F

08/31 15:08, , 33F
08/31 15:08, 33F

08/31 15:12, , 34F
媽的誰寫python再給我用tab的我還不砍死你PEP他媽給
08/31 15:12, 34F

08/31 15:12, , 35F
我罰抄一千遍
08/31 15:12, 35F

08/31 15:14, , 36F
IDE可以轉換
08/31 15:14, 36F

08/31 15:14, , 37F
我寫 python 就是用 tab 在縮排 der,PEP 是什麼可以吃嗎
08/31 15:14, 37F
還有 28 則推文
08/31 15:58, , 66F
VS不是也有C++嗎
08/31 15:58, 66F

08/31 15:58, , 67F
我的C++雖然樸素但我就是不離不棄
08/31 15:58, 67F

08/31 15:59, , 68F
雖然後來都用C30 comlier或直接寫機械語言了
08/31 15:59, 68F

08/31 16:00, , 69F
反正要燒到晶片裡測試能不能用方便就好 記事本改都ok
08/31 16:00, 69F

08/31 16:00, , 70F
因為用記事本最省記憶體 跑的最快
08/31 16:00, 70F

08/31 16:00, , 71F
tab output用4 space飄過 js用2 space
08/31 16:00, 71F

08/31 16:02, , 72F
語言好不好用是看用在哪 以及誰在用 _(:3
08/31 16:02, 72F

08/31 16:04, , 73F
我用TAB我驕傲
08/31 16:04, 73F

08/31 16:05, , 74F
我連按八下空白假裝tab 只差一格齊卻用tab排
08/31 16:05, 74F

08/31 16:08, , 75F
對齊用到8格不會被巴頭嗎
08/31 16:08, 75F

08/31 16:08, , 76F
不同編輯軟體,Tab跳的格數不一樣
08/31 16:08, 76F

08/31 16:20, , 77F
很多軟體預設是8格啊,譬如說vim,至於為啥這樣也是有歷史因
08/31 16:20, 77F

08/31 16:21, , 78F
素的,可以去翻一下wiki對tab的介紹
08/31 16:21, 78F

08/31 16:27, , 79F
講得還挺有可能的 因為動畫跳出的錯誤訊息是記憶體錯誤
08/31 16:27, 79F

08/31 16:27, , 80F
有的軟體,按tab不儲成tab,而是直接幫你轉成4或8格空白
08/31 16:27, 80F

08/31 16:28, , 81F
臭死了
08/31 16:28, 81F

08/31 16:29, , 82F
幹 等等 為啥你會在嘻洽?
08/31 16:29, 82F

08/31 16:32, , 83F
我文組看不懂 只好推了
08/31 16:32, 83F

08/31 16:38, , 84F
C#都自動格式化喔 誰管tab還space
08/31 16:38, 84F

08/31 16:40, , 85F
記得動畫裡就有提到問題在多殺了幾次啊 ' A')
08/31 16:40, 85F

08/31 16:54, , 86F
戰!
08/31 16:54, 86F

08/31 17:07, , 87F
IDE選的好 tab space沒煩惱
08/31 17:07, 87F

08/31 17:09, , 88F
只接受 soft tab,要用 tab 就用,但程式必須存成 space
08/31 17:09, 88F

08/31 17:09, , 89F
以為全世界都有義務知道你的 tab 在你的機器上是設定等於幾
08/31 17:09, 89F

08/31 17:09, , 90F
個 space 喔,白眼
08/31 17:09, 90F

08/31 17:09, , 91F
tab 只能說鍵盤上的按鍵,不能是進 code 的字元,結案。
08/31 17:09, 91F

08/31 17:11, , 92F
敢讓我看到 code 出現 \t 一定退會,換個地方看就長不一樣
08/31 17:11, 92F

08/31 17:11, , 93F
你不煩別人會抓狂
08/31 17:11, 93F

08/31 17:18, , 94F
反觀台灣的八點檔畫面
08/31 17:18, 94F

08/31 17:25, , 95F
改戰空白格數
08/31 17:25, 95F

08/31 17:33, , 96F
文組只看日富美
08/31 17:33, 96F

08/31 17:41, , 97F
有人不知道vim跟pycharm都能tab轉space的ㄇ??
08/31 17:41, 97F

08/31 18:22, , 98F
destroy後加一個break也可以
08/31 18:22, 98F

08/31 19:22, , 99F
destroy 回傳一個值拿去給for 用阿
08/31 19:22, 99F

08/31 19:26, , 100F
這裡的tab是指\t吧
08/31 19:26, 100F

08/31 20:09, , 101F
下一篇會戰大括號位置嗎?我先說我是 Allman 派 der
08/31 20:09, 101F

08/31 20:45, , 102F
嗯…
08/31 20:45, 102F

08/31 21:19, , 103F
先推免得別人以為我看不懂
08/31 21:19, 103F

08/31 21:37, , 104F
幹快笑死,,
08/31 21:37, 104F

08/31 22:11, , 105F
你在認真什麼喇...
08/31 22:11, 105F
文章代碼(AID): #1Pfx8Gl- (C_Chat)
討論串 (同標題文章)
文章代碼(AID): #1Pfx8Gl- (C_Chat)