Можно ли так писать код (PEP 8) Python

class Main(ctk.CTk):
    def __init__(self):
        super().__init__()

        # Open settings.json file
        with open('settings.json', 'r') as file:
            self.settings = json.load(file)

        # Settings variables
        # ----------------------------------------------------------------------------
        self.THEME = self.settings['Theme']                      # Application theme
        self.CPU_NAME = cpuinfo.get_cpu_info()['brand_raw']      # CPU name

        self.LIST_BARS = []                                      # List of bars
        self.LIST_HEIGHTS = []                                   # List of bar heights
        self.COLOR = None                                        # Default color
        # ----------------------------------------------------------------------------

        # Theme settings
        # -----------------------------------------------
        self.set_theme(self.THEME)
        self.set_color_theme(self.settings['ColorTheme'])
        # -----------------------------------------------
        self.THEME = ctk.get_appearance_mode()

        # Application settings
        # ----------------------------------------
        self.title('CPUanalytics')
        self.geometry('700x400')
        self.resizable(False, False)
        self.iconbitmap(f'{self.THEME}\\icon.ico')
        # ----------------------------------------

        # Color depending on the theme
        if self.THEME == 'Light':
            self.hover_color = '#ebebeb'
            self.active_color = '#aaaaaa'
            self.frame_color = '#ffffff'
            self.text_color = '#000000'
        elif self.THEME == 'Dark':
            self.hover_color = '#444444'
            self.active_color = '#202020'
            self.frame_color = '#202020'
            self.text_color = '#ffffff'

        # -----------------------------------------------------------------
        # MENU FRAME
        # -----------------------------------------------------------------
        self.menu_frame = ctk.CTkFrame(                            #  Frame
            master=self,
            width=48,
            height=400,
            corner_radius=0,
            border_width=0
        )

        # 'Home' button
        self.home_menu_el = ctk.CTkButton(                         # Button
            master=self.menu_frame,
            image=self.open_image('analytics_menu_el.png'),
            text='',
            width=30,
            height=30,
            corner_radius=7,
            bg_color='transparent',
            fg_color='transparent',
            hover_color=self.hover_color,
            command=self.home_menu_open
        )

        # 'History' button
        self.history_menu_el = ctk.CTkButton(                      # Button
            master=self.menu_frame,
            image=self.open_image('history_menu_el.png'),
            text='',
            width=30,
            height=30,
            corner_radius=7,
            bg_color='transparent',
            fg_color='transparent',
            hover_color=self.hover_color
        )

        # Placement of objects --------------------------------------------
        self.menu_frame.place(x=0, y=0)                            #  Frame
        self.home_menu_el.place(x=5, y=5)                          # Button
        self.history_menu_el.place(x=5, y=40)                      # Button

Ответы (1 шт):

Автор решения: Armen Legran

Ваш код в основном соответствует стандарту PEP 8, но есть несколько моментов, которые стоит учесть:

  1. Комментарии: PEP 8 рекомендует использовать два пробела перед встроенным комментарием и один пробел после символа #. Например:
    self.menu_frame.place(x=0, y=0)  # Frame
  1. Длина строки: PEP 8 предлагает ограничить максимальную длину строки кода 79 символами. Это помогает сделать код более читаемым.

  2. Имена переменных: PEP 8 рекомендует использовать snake_case для имен переменных и функций. В вашем коде используется camelCase.

    self.THEME -> self.theme
    self.CPU_NAME -> self.cpu_name
    self.LIST_BARS -> self.list_bars
    self.LIST_HEIGHTS -> self.list_heights
    self.COLOR -> self.color
    self.hover_color -> self.hover_color
    self.active_color -> self.active_color
    self.frame_color -> self.frame_color
    self.text_color -> self.text_color
    self.menu_frame -> self.menu_frame
    self.home_menu_el -> self.home_menu_el
    self.history_menu_el -> self.history_menu_el
  1. Пробелы вокруг операторов: PEP 8 рекомендует окружать большинство бинарных операторов одним пробелом с каждой стороны. Например:
    f'{self.THEME}\\icon.ico'-> f'{self.THEME} \\ icon.ico'  # cледует добавить пробелы вокруг \\.

→ Ссылка