2017-08-01 58 views
0

PEP 8表示「模塊應該有短的全小寫名稱,如果提高了可讀性,可以在模塊名稱中使用下劃線,Python包也應該有短的全小寫名稱,儘管使用下劃線是令人沮喪的。「Django app.py刪除配置中的下劃線

我正在制定一個教育計劃,最終可以有很多教訓。有時一個應用程序可能會提供數千次課程(即拼寫),但仍然可能有很多應用程序。爲了便於閱讀,用小寫字母下劃線似乎很重要。

當我在應用程序名稱中使用下劃線(例如clockwise_counter)時,「python manage.py startapp clockwise_counter」將刪除在構建apps.py中的類名稱時的下劃線。類名變成 「類ClockwiseCounterConfig(AppConfig的): 名=‘clockwise_counter’」

這引起了我很多的困惑,直到我學會了apps.py類名複製到受settings.py的INSTALLED_APPS部分刪除下劃線。

我的問題是:

  1. 爲什麼在PEP 8氣餒下劃線?是真的有一個很好的理由,還是隻是過去某個時候的個人喜好?

  2. 我現在或將來在應用程序名稱中使用下劃線是否存在可讀性問題?

+2

目前還不清楚你在問什麼。 'clockwise_counter'是應用程序名稱,但'ClockwiseCounterConfig'是一個類名,因此遵循PEP8關於類的建議。 –

+0

大多數網站都有幾頁到幾百頁。在網上發佈的教育計劃可能有一萬頁甚至十萬頁。強調爲應用程序名稱與主題分類學合理相似似乎是有道理的。否則,應用程序名稱將與主題分類無關。 – JimFuqua

+0

我不知道這與什麼有關。應用程序配置是類,它們是以可預測和可重複的方式從模塊名稱構建的。在任何情況下,頁面數量都不應與您應用中的課程數量相關;如果你有十萬門課,你肯定有一些非常非常錯誤的東西。 –

回答

0

這是一個標準的行爲,而不是一個錯誤。模塊或包名稱中的下劃線是合法的,因此您可以將這些名稱加下劃線。

另一方面,有一個Clockwise_Counter_Config類是某種醜陋的(但它的工作原理)。

啊,INSTALLED_APPS設置是應用程序列表(或序列)虛線的名稱,而不是類名稱。