[英]Improving Python readability?
我最近一直很喜歡Python編程。 我來自對C語言編碼的強烈熱愛的背景,其中一切都可能比它應該更復雜(但至少把頭發放在胸前)。 因此,從C轉換到Python以獲得不需要大量速度的更復雜的事情,這對於編寫項目來說更是一種福音。
然而,就肉眼可以看到的來自括號和圓括號和結構的土地,我遇到了一個小問題:我發現Python難以閱讀。
例如,除非我盯着它(我不喜歡這樣做),否則下面的文本塊很難解讀:
if foo:
bar = baz
while bar not biz:
bar = i_am_going_to_find_you_biz_i_swear_on_my_life()
did_i_not_warn_you_biz()
my_father_is_avenged()
問題發生在那個if塊:所有的標簽然后突然回到一個震動的塊感覺幾乎令人不安。 作為一個解決方案,我開始編寫我的Python代碼:
if foo:
bar = baz
while bar not biz:
bar = i_am_going_to_find_you_biz_i_swear_on_my_life()
#-- while --
#-- if --
did_i_not_warn_you_biz()
my_father_is_avenged()
而且,由於一些奇怪的原因,這讓我更能夠閱讀自己的代碼。 但我很好奇:還有其他人遇到我的奇怪問題,找到了更簡單的方法來使他們的標簽代碼更具可讀性嗎? 在我成為一個巨大的習慣之前,我很想知道是否有更好的方法可以做到這一點。
學習新編程語言的一部分是學習用該語言閱讀代碼。 像這樣的拐杖可以讓你更容易閱讀自己的代碼,但它會妨礙學習如何閱讀其他人的Python代碼的過程。 我真的認為你最好擺脫塊注釋的結束並習慣普通的Python。
我喜歡在塊周圍放置空白線以使控制流更明顯。 例如:
if foo:
bar = baz
while bar not biz:
bar = i_am_going_to_find_you_biz_i_swear_on_my_life()
did_i_not_warn_you_biz()
my_father_is_avenged()
您可以嘗試增加縮進大小,但總的來說,我只想說,放松,它會隨着時間而來。 我不認為嘗試使Python看起來像C是一個非常好的主意。
您應該專注於制作更多邏輯結構,而不是專注於使現有結構更具可讀性。 制作較小的塊,盡量不要過度嵌套塊,制作更小的函數,並嘗試更多地考慮代碼流。
如果您無法快速確定代碼的結構,則應考慮重構並添加一些注釋。 代碼流應始終是顯而易見的 - 您需要考慮的越多,代碼的可維護性就越低。
也許最好的辦法就是在編輯器中打開“顯示空白”。 然后你會有一個視覺指示,顯示每行中有多遠(通常是一堆點),當變化時會更明顯。
我將介紹了解有關Python語法的更多細節。 通常,如果一段代碼看起來很奇怪,通常會有更好的方法來編寫代碼。 例如,在上面的例子中:
bar = foo if baz else None
while bar not biz:
bar = i_am_going_to_find_you_biz_i_swear_on_my_life()
did_i_not_warn_you_biz()
my_father_is_avenged()
雖然這是一個很小的變化,但它可能有助於提高可讀性。 另外,老實說,我從來沒有使用過while循環,所以有一個很好的改變,你最終會得到一個簡潔的列表理解或循環。 ;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.