Упрощение кода, написание того или иного кода более понятно и просто |
Здравствуйте, гость ( Вход | Регистрация )
Упрощение кода, написание того или иного кода более понятно и просто |
AD |
5.8.2008, 16:26
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Собственно предлагаю сюда задавать и выкладывать куски кода (с пояснениями, конечно, что этот код делает) для того, чтобы помогли его ну как упростить, сделать более читабельным. Возможно, кому-то это поможет.
Если разрешите, то могу начать. |
|
|
void* |
5.8.2008, 18:46
Сообщение
#2
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
ну вот у меня такая дилема. Нижеприведенный код показывает в дереве (QTreeWidget'e) содержимое определенной папки методом рекурсии, однако состоит это дело из двух функций, и мне почему-то кажется что можно это как-то сделать и через одну функцию:
код
|
|
|
ViGOur |
5.8.2008, 21:59
Сообщение
#3
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Ну я дуаю ты сам мог бы догадаться, если бы был внимательней.
Не нужно два цикла, вместо entryList используй entryInfoList в и foreach получай QFileInfo с помощью которого ты можешь узнать файл это или директория (isFile или isDir). Ну а как потянешь за эту ниточку, остальное думаю наложится, если не будет понятно что-то спрашивай. p.s. как сделаешь код здесь выложи, чтобы покритиковали если будет что. |
|
|
void* |
5.8.2008, 22:21
Сообщение
#4
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
ViGOur, насчет entryInfoList я знал, просто мне казалось что так нагляднее. А так - пока что повозиться с этим кодом нет времени и свободных рук просто для начала сделал попроще и нагляднее, а потом уже можно будет как-нибудь оптимизировать.
|
|
|
Red Devil |
6.8.2008, 11:59
Сообщение
#5
|
Студент Группа: Участник Сообщений: 68 Регистрация: 6.6.2008 Из: Saint-Petersburg Пользователь №: 194 Спасибо сказали: 1 раз(а) Репутация: 3 |
Сообщение отредактировал Red Devil - 6.8.2008, 12:01 |
|
|
void* |
6.8.2008, 12:49
Сообщение
#6
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
упростил однако из двух функций сделал четыре
хотя так оно конечно возможно понятнее |
|
|
ViGOur |
6.8.2008, 14:22
Сообщение
#7
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Вызывается так:
|
|
|
void* |
6.8.2008, 17:26
Сообщение
#8
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
ViGOur, спасибо! примерно такое у меня и вертелось в голове, только никак не мог выразить это в коде
|
|
|
Tonal |
7.8.2008, 8:09
Сообщение
#9
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
2 ViGOur
Я бы всё таки выделил из этого кода функции создания итема для файла и для директории. Тогда код получается максимально наглядный и все занимаются своим делом:
Сообщение отредактировал Tonal - 7.8.2008, 8:12 |
|
|
ViGOur |
7.8.2008, 8:27
Сообщение
#10
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
Текстовая версия | Сейчас: 29.11.2024, 13:15 |