Minoru
22.05.2011 14:23 netbook
В процессе чтения «Coders at work» возник вопрос: а как вы располагаете функции в исходниках? Сначала высокоуровнёвые вещи, а дальше — низкоуровнёвые? Или наоборот? Или всегда дописываете новые функции в конец, образуя хронологический порядок?
по возможности соблюдаю алфавитный порядок
хотя вру. Я как-то группирую их по смыслу что-ли.
а какая разница? Еси чо ide по алфавиту отсортирует
Спасибо.
Собственно, вопрос возник во время чтения интервью с Guy Steele, и он как раз заметил, что IDE в этом плане — зло: так как код раскидан как попало, сложно понять, прочёл ли ты *всё* или что-то упустил. Приводится сравнение обходом графа: сложно сказать, побывал ли ты во всех вершинах. Линейная же структура гарантирует, что при прочтении «от корки до корки» ты точно ничего не упустишь.
надо блджад правильно алгоритм обхода графа писать
а зачем читать от корки до корки? Начинаешь с точки входа, опционально перемещаешься по функциям которые заинтересовали, выясняешь то, что нужно, а что не нужно — тем не забиваешь голову. Все равно программа по сути не линейная, поэтому читать линейно бессмысленно.
правильно, я так и делаю
Ну, это если тебе надо что-то пофиксить. А что если ты просто в образовательных целях читаешь? Хотелось бы и архитектуру увидеть (⇒ хотелось бы понять, как функции взаимодействуют), и используемые алгоритмы вкурить (⇒ хотелось бы почитать *все* функции). Отсюда и «от корки до корки».
в это случае как раз ide и всякие другие тулзы тебе помогут увидеть дерево вызовов или дерево наследования, охватить одним взглядом всю структуру ну и т.д. ну а читать все равно надо начинать с точки входа.