Хотите купить недорогой, но качественный бильярдный стол? Тогда вам срочно нужно посетить страницу!
Когда-то давно, около трех лет назад, внутри фреймворк Zope какой-то добрый человек сделал такую смену.Если конкретно, то мне в ней больше всего понравилось это:И сейчас я с примером объясню почему меньше строк лучше только в том случае, когда строки при этом не становятся длиннее. Пусть мы работаем версии Zope сделанной еще до этого комита и имеем трейс:Уверены что App.special_dhtml содержит класс DTMLFile. Значит причина ошибки при импорте в том что код модуля не успевает прогнатись до того места где ему говорят создать этот класс. Методом дихотомии определяем что проблема в строке 14:import DocumentTemplate, Common, Persistence, MethodObject, Globals, os, sysГде-то здесь возникает тот самый ImportError, но строка слишком длинный чтобы точно знать где. Придется переписать чтобы строк было больше. Далее import pdb; pdb.set_trace (); nnnnn ..., видим что виноват модуль Globals, который импортирует App, а для импорта App, нужно импортировать special_dhtml, импортом которого мы сейчас занимаемся.
Когда-то давно, около трех лет назад, внутри фреймворк Zope какой-то добрый человек сделал такую смену.Если конкретно, то мне в ней больше всего понравилось это:И сейчас я с примером объясню почему меньше строк лучше только в том случае, когда строки при этом не становятся длиннее. Пусть мы работаем версии Zope сделанной еще до этого комита и имеем трейс:Уверены что App.special_dhtml содержит класс DTMLFile. Значит причина ошибки при импорте в том что код модуля не успевает прогнатись до того места где ему говорят создать этот класс. Методом дихотомии определяем что проблема в строке 14:import DocumentTemplate, Common, Persistence, MethodObject, Globals, os, sysГде-то здесь возникает тот самый ImportError, но строка слишком длинный чтобы точно знать где. Придется переписать чтобы строк было больше. Далее import pdb; pdb.set_trace (); nnnnn ..., видим что виноват модуль Globals, который импортирует App, а для импорта App, нужно импортировать special_dhtml, импортом которого мы сейчас занимаемся.