<dl id="llxdb"></dl>
<video id="llxdb"><output id="llxdb"></output></video><dl id="llxdb"><output id="llxdb"></output></dl>
<output id="llxdb"></output>
<noframes id="llxdb"><dl id="llxdb"></dl>
<video id="llxdb"></video>
<output id="llxdb"><delect id="llxdb"><font id="llxdb"></font></delect></output>
<video id="llxdb"></video><dl id="llxdb"><output id="llxdb"></output></dl>
<dl id="llxdb"><delect id="llxdb"><font id="llxdb"></font></delect></dl><video id="llxdb"></video><dl id="llxdb"></dl><dl id="llxdb"><output id="llxdb"><font id="llxdb"></font></output></dl>
                          您的位置:首頁 >聚焦 >

                          世界動態:Python使用強制縮進算不算一個敗筆

                          2022-10-28 10:20:14    來源:程序員客棧
                          在CSDN看到一個關于Python之父Guido的采訪,主持人問到Python 這門語言采用強制代碼縮進,如果重來一次會不會放棄這個限制?

                          Guido是這樣回答的

                          代碼縮進(Indentation)其實并不是我發明的,當時的同事給了我啟發。在 Python 中要求進行代碼縮進的原因是 30 年前的代碼編輯器都不能很好地對代碼進行縮進排版,所以我就想鼓勵程序員自己來對代碼進行正確的排版,從而確保程序員從視覺上對代碼的理解與編譯器對代碼的解析是一致的。這其實非常重要,幾年前蘋果公司就發生過一次非常嚴重的代碼安全漏洞事故,就是由于代碼中一個語句與程序員實際設想的 if-else 語法邏輯沒有匹配而引起的,其實,嚴格要求代碼縮進確實有點夸張,改用花括號,也不是不可以。

                          從Guido的回答來說,如果放在今天或者哪怕20年前,我估計他不會用強制縮進來規范代碼了。畢竟現在的代碼編輯器和30年前相比已經發生了翻天覆地的變化,代碼自動格式化都是小兒科。


                          (資料圖)

                          而對于是否應該強制縮進,程序員持有兩種完全相反的觀點,一種覺得完全無法接受強制縮進,憑啥多敲一個空格就不行呢?為此還勸退不少人。喜歡的則認為這是python的一大特點,代碼看起來整齊舒服。

                          我記得第一次接觸Python時,發現需要用強制縮進來分隔代碼塊,不對齊就報錯,為此驚訝不已。不過寫出來的代碼確實整齊劃一,反觀大括號,還在為到底要不要換行顯示爭論不止

                          if (a>b){ //}還是if(a>b){}

                          從另一方面來說,縮進也有糾結的地方,縮進到底是用tab縮進還是用空格縮進,縮進時用幾個空格,語法上并沒有做要求,PEP8建議每個縮進級別采用4個空格,通常IDE可配置成一個Tab等于4個空格

                          不過強制縮進一點也沒有影響它成為最流行的語言(之一)

                          對此你有什么看法

                          關鍵詞: 自動格式化 整齊劃一 放棄這個

                          相關閱讀

                          Av久草
                          <dl id="llxdb"></dl>
                          <video id="llxdb"><output id="llxdb"></output></video><dl id="llxdb"><output id="llxdb"></output></dl>
                          <output id="llxdb"></output>
                          <noframes id="llxdb"><dl id="llxdb"></dl>
                          <video id="llxdb"></video>
                          <output id="llxdb"><delect id="llxdb"><font id="llxdb"></font></delect></output>
                          <video id="llxdb"></video><dl id="llxdb"><output id="llxdb"></output></dl>
                          <dl id="llxdb"><delect id="llxdb"><font id="llxdb"></font></delect></dl><video id="llxdb"></video><dl id="llxdb"></dl><dl id="llxdb"><output id="llxdb"><font id="llxdb"></font></output></dl>