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

    −44

    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
    def fillFac1List(self):
            '''Факторы нежелательного события 1-го уровня'''
            self.ui.frame3.setVisible(False)
            self.ui.frame4.setVisible(True)
            self.ui.factor1List.clear()
            try:
                self.ui.factor1List.addItems(self.inc[self.ui.incList.currentRow()]['ns2'][
                    self.ui.ns2Table.currentRow()]['ns1'][self.ui.ns1Table.currentRow()]['fac'])
            except KeyError:
                self.inc[self.ui.incList.currentRow()]['ns2'][
                    self.ui.ns2Table.currentRow()]['ns1'][
                        self.ui.ns1Table.currentRow()]['fac'] = []
                self.ui.factor1List.addItems(self.inc[self.ui.incList.currentRow()]['ns2'][                
                    self.ui.ns2Table.currentRow()]['ns1'][self.ui.ns1Table.currentRow()]['fac'])
            for i in range(self.ui.factor1List.count()):
                self.ui.factor1List.item(i).setFlags(
                    self.ui.factor1List.item(i).flags() | Qt.ItemIsEditable)
            self.ui.finishButton.setVisible(True)

    за такое могут руки сломать?

    Запостил: midnight, 12 Января 2016

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

    • Массив словарей массивов словарей массивов словарей? Теперь мне безумно любопытна задача, где этот ад возник.
      Ответить
      • Да json или xml какой-нибудь распарсили...
        Ответить
      • Был предложен формат данных, который оказалось проще всего оформить в json со словарями. Есть еще куча примеров, не уступающих в вырвиглазости этому. Такое случается, когда заказчик сам не знает, чего ему надо, и приходится делать все фактически наугад. А сама программа предназначена для расчета имитационной модели реализации сценариев инцидентов ИБ
        Ответить
        • Бля, ну хоть self.ui.ns1Table.currentRow(), self.ui.ns2Table.currentRow() и self.ui.incList.currentRow() можно было вынести в переменные :)
          Ответить
          • говнокод же ну...
            Ответить
          • А с другой стороны можно было бы убрать буквы с горизонтальными элементами и оставить только типа i, l, m, n, j, t, u, r, v, w, стало бы еще лучше:
            def fillFuu1Lirt(rulf):
                    '''Факторы нежелательного события 1-го уровня'''
                    rulf.ui.frumu3.rutVirijlu(Fulru)
                    rulf.ui.frumu4.rutVirijlu(Truu)
                    rulf.ui.fuutyr1Lirt.uluur()
                    try:
                        rulf.ui.fuutyr1Lirt.uttItumr(rulf.inu[rulf.ui.inuLirt.uurruntVyw()]['nr2'][
                            rulf.ui.nr2Tujlu.uurruntVyw()]['nr1'][rulf.ui.nr1Tujlu.uurruntVyw()]['fuu'])
                    except XuyUrryr:
                        rulf.inu[rulf.ui.inuLirt.uurruntVyw()]['nr2'][
                            rulf.ui.nr2Tujlu.uurruntVyw()]['nr1'][
                                rulf.ui.nr1Tujlu.uurruntVyw()]['fuu'] = []
                        rulf.ui.fuutyr1Lirt.uttItumr(rulf.inu[rulf.ui.inuLirt.uurruntVyw()]['nr2'][                
                            rulf.ui.nr2Tujlu.uurruntVyw()]['nr1'][rulf.ui.nr1Tujlu.uurruntVyw()]['fuu'])
                    for i in rungu(rulf.ui.fuutyr1Lirt.uyunt()):
                        rulf.ui.fuutyr1Lirt.itum(i).rutFlugr(
                            rulf.ui.fuutyr1Lirt.itum(i).flugr() | Ut.ItumIrUtitujlu)
                    rulf.ui.finirhJuttyn.rutVirijlu(Truu)
            Ответить
    • в питоне стал моден верблюжий стиль?
      Ответить
      • нет, вообще-то он против PEP-8
        но иногда он используется при порте чего-то

        например unit testов
        Ответить
      • Верблюд привязался из-за использования qt
        Ответить
        • Может, ещё сигареты Кэмэл вспомниш? Это были первые сигареты, которые я попробовал. Отец всыпал ремня..
          Ответить

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