1. Python / Говнокод #18504

    −128

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    class РазделФорума(models.Model):
        def __str__(собств):
            return собств.название_раздела
    
        название_раздела = models.CharField(max_length=100)
        описание_раздела = models.CharField(max_length=250,
                                            default='',
                                            blank=True)
    
    
    class ТемаФорума(models.Model):
        def __str__(собств):
            return собств.заголовок
    
        заголовок = models.CharField(max_length=150)
        шапка_темы = models.TextField()
        количество_сообщений = models.IntegerField(blank=True, default=0)
        время_создания = models.DateTimeField(auto_now_add=True)
        время_последнего_изменения = models.DateTimeField(blank=True, null=True)
        автор = models.ForeignKey(Персонаж)
        раздел = models.ForeignKey(РазделФорума)
    
    
    class СообщениеФорума(models.Model):
        def __str__(собств):
            return собств.текст_сообщения[:70] + "..."
    
        текст_сообщения = models.TextField()
        время_создания = models.DateTimeField(auto_now_add=True)
        автор = models.ForeignKey(Персонаж)
        название_темы = models.ForeignKey(ТемаФорума)

    Django модели. Спизжено отсюда - http://djbook.ru/forum/topic/3524/#post-23189

    Запостил: alexscrat, 21 Июля 2015

    Комментарии (19) RSS

    • показать все, что скрытоНу а серьезно, где запрет использования не-юникода?
      Ответить
      • эммм... Здравый смысл. Не, ну нет на самом деле. Кроме того, есть даже такой шедевр, как 1С, в котором вообще это предусмотрено, но здесь мне было бы как минимум влом прыгать между раскладками. Да и с кровоточащими глазами писать код неудобно
        Ответить
      • Поискал, кстати есть. Краткая выжимка здесь - http://pep8.ru/doc/pep8/

        Вот оно -

        Кодировки (PEP 263)

        Код ядра python всегда должен использовать ASCII или Latin-1 кодировку (также известную как ISO-8859-1). Начиная с версии python 3.0, предпочтительной является кодировка UTF-8 (смотрите PEP 3120).

        Files using ASCII (or UTF-8, for Python 3.0) should not have a coding cookie. Используйте Latin-1 (или UTF-8), только если это необходимо, чтобы указать в комментарии или строке документации имя автора, содержащее в себе символ из Latin-1. В противном случае предпочтительнее использовать escape-символы \x, \u или \U для не-ASCII символов в строках.

        Начиная с версии python 3.0 в стандартной библиотеке действует следующая политика (смотрите PEP 3131): все идентификаторы обязаны содержать только ASCII символы, и означать английские слова везде, где это возможно (во многих случаях используются сокращения или неанглийские технические термины). Кроме того, строки и комментарии тоже должны содержать лишь ASCII символы. Исключения составляют: (а) test case, тестирующий не-ASCII особенности программы, и (б) имена авторов. Авторы, буквы в именах которых не из латинского алфавита, должны транслитерировать свои имена в латиницу.

        Проектам с открытым кодом для широкой аудитории также рекомендуется использовать это соглашение.
        Ответить
        • показать все, что скрытоА не для широкой? Язык коментов - дело автора, а вот идентификаторы обычно делают на инглише, но аргументов за я не видел.
          Ответить
          • > я не видел
            "Влом прыгать между раскладками", как минимум.

            Ну и у чуваков из других стран возникнут проблемы (но это важно только для опенсурса и контор, которые работают с заграничными коллегами).

            В остальном, в общем-то, всё ок. А во всякой бухгалтерии даже термины предметной области легче описываются без ёбли с их переводом.
            Ответить
            • показать все, что скрытоЯ не про бухов, а про нормальное программирование.
              Ответить
              • А бухгалтерия что, ненормальное приложение программирования?
                Ответить
                • Бухи - не программисты.
                  Ответить
                  • Бухи — да. Но кто-то пишет для них программы.
                    Ответить
                    • Ты про что сейчас вообще? Если про апи на русском вроде СУММА(), так это для бухов пишется.
                      Ответить
                      • Гнилушка ты, отрок. Народ тебя принимает как брата своего, а ты кляузы творишь изменническия, опускающе опускаешь посты и минусуешь комменты... Вон, и кучу уже опустошил. Грядёт возмездие!
                        Ответить
          • Вот нужна тебе будет полезная либа какая-нибудь для своих нужд, найдешь по советам товарищей ссыль в интернете, а ее написал веселый китаец и использовал он идентификаторы на китайском и ни черта ты не поймешь. Придется писать свою заново или тратить кучу времени на разбор найденной. В любом случае затраты на собственную разработку возрастут.
            Ответить
            • Или я не найду ее, или сразу брошу. Алсо, насколько это ебет китайца?
              Ответить
    • Или я дурак, или все намного проще.
      Django по-умолчанию сопоставляет имена полей класса модели и имена полей таблицы. Просто таблица, походу, была с русскоязычными именами полей, а автор поленился поискать как задать нужное имя поля явно.
      Ответить
      • да ладно!!??
        а в таблице поля вроде автор_id или раздел_id?
        ну наверное…
        Ответить
        • После ПолеСоСписком1_Changed я перестал удивляться таким мелочам...
          Ответить

    Добавить комментарий