Minoru 22.05.2011 14:23 netbook

В процессе чтения «Coders at work» возник вопрос: а как вы располагаете функции в исходниках? Сначала высокоуровнёвые вещи, а дальше — низкоуровнёвые? Или наоборот? Или всегда дописываете новые функции в конец, образуя хронологический порядок?

1. werehuman 22.05.2011 14:23 Psi+

по возможности соблюдаю алфавитный порядок

2. werehuman 22.05.2011 14:24 Psi+

хотя вру. Я как-то группирую их по смыслу что-ли.

3. SAGE 22.05.2011 15:16 Пирожок

а какая разница? Еси чо ide по алфавиту отсортирует

4. Minoruwerehuman /2 22.05.2011 18:09 netbook

Спасибо.

5. MinoruSAGE /3 22.05.2011 18:10 netbook

Собственно, вопрос возник во время чтения интервью с Guy Steele, и он как раз заметил, что IDE в этом плане — зло: так как код раскидан как попало, сложно понять, прочёл ли ты *всё* или что-то упустил. Приводится сравнение обходом графа: сложно сказать, побывал ли ты во всех вершинах. Линейная же структура гарантирует, что при прочтении «от корки до корки» ты точно ничего не упустишь.

6. werehumanMinoru /5 22.05.2011 18:11 Psi+

надо блджад правильно алгоритм обхода графа писать

7. SAGEwerehuman /6 22.05.2011 18:16 Пирожок

а зачем читать от корки до корки? Начинаешь с точки входа, опционально перемещаешься по функциям которые заинтересовали, выясняешь то, что нужно, а что не нужно — тем не забиваешь голову. Все равно программа по сути не линейная, поэтому читать линейно бессмысленно.

8. werehumanSAGE /7 22.05.2011 18:17 Psi+

правильно, я так и делаю

9. MinoruSAGE /7 22.05.2011 21:24 netbook

Ну, это если тебе надо что-то пофиксить. А что если ты просто в образовательных целях читаешь? Хотелось бы и архитектуру увидеть (⇒ хотелось бы понять, как функции взаимодействуют), и используемые алгоритмы вкурить (⇒ хотелось бы почитать *все* функции). Отсюда и «от корки до корки».

10. SAGEMinoru /9 22.05.2011 21:26 ooChai5t

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

Do you really want to delete ?