Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2010, 00:30   #11
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Не могу не привести несколько кусков кода с которыми довелось сегодня поработать.
Код:
// частицы
  massX:array[0..1000] of integer;
  massY:array[0..1000] of integer;
Про имена массивов молчу. Нужно было организовать структуру Particle это тру и это раз. Во-вторых тут не использовался динамический массив, хотя нужно. И еще если дин. массив не нужен(в этом случае все таки нужен), то число частиц нужно было бы запхать в константу с осмысленным именем.
Код:
// f = (q1*qi*k) \r
  Fx:=(strtofloat(edit10.Text) * strtofloat(edit13.Text) * strtofloat(edit11.Text))/(rx*rx);
Самое страшное что может быть- несоответствие комментариев и кода.
Глобальная переменная Fx-зло, я бы организовал объект и в нем определенные свойства. Нет проверки введенных значений и сопутствующих действий. Нет проверки деления на ноль. Неосмысленные названия объектов(эдитов). Прямое считывание с компонентов- полнейшее зло, необходимо организовать глобальные переменные и их обновлять после успешного ввода новых значений. + код неправильно работает, ибо учитывается только модуль силы.


И такой весь код.
Мой мозг чуть не взорвался, и это только _4_ строки кода.
Levsha100 вне форума Ответить с цитированием
Старый 09.05.2010, 01:26   #12
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Ты слишком категоричен, это с возрастом пройдет, см. тут

Половина твоих замечаний не относится к оформлению, а половина слишком категорична. К примеру, на частые операции с памятью для динамического массива может уходить время, иногда это критично, и этого можно избежать задав массив один раз (это просто пример, что нельзя все под одну гребенку, я не об этом конкретном случае, здесь скорее всего просто неопытный человек писал).
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 09.05.2010 в 01:34.
mutabor вне форума Ответить с цитированием
Старый 09.05.2010, 10:16   #13
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Цитата:
Код:
// f = (q1*qi*k) \r
  Fx:=(strtofloat(edit10.Text) * strtofloat(edit13.Text) * strtofloat(edit11.Text))/(rx*rx);
Это вы небось из какой-то студневской лабы взяли и решили покритиковать) Потому что в нормальных программах(не в лабах) таких комментариев не пишут.
Я скажу больше - это наследие мнимой "легкости" в освоении Делфи. Люди учатся просто создавать формочки, бросать на них кнопочки и прочие рюшики, не задумываясь о том, какая структура у этого самого окна и всех его компонентов, не задумываясь, что форма - это класс, и каждый компонент на ней - тоже объект класса. То же самое с Билдером - попытка "облегчить" освоение С++.
Я не холиварщик и не собираюсь разводить срач по поводу что лучше. Я просто говорю, из-за чего возникают вот такие ситуации с кодом.
MaTBeu вне форума Ответить с цитированием
Старый 09.05.2010, 10:20   #14
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Цитата:
Я скажу больше - это наследие мнимой "легкости" в освоении Делфи.
Вооот, полностью согласен.
Levsha100 вне форума Ответить с цитированием
Старый 09.05.2010, 13:20   #15
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Цитата:
Код:
// частицы
  massX:array[0..1000] of integer;
  massY:array[0..1000] of integer;
Это еще ничего, вот я занимался разработкой плагина под Adobe Acrobat, и исследовал Adobe SDK. Так вот там дела обстоят просто плачевно -
Типы данных называются
ACCB1, ACCB2, ACCB3... и так далее - множество абстрактных типов у которых переменные называются как-то типа m1, m432, a43 и так далее.
И это же в коммерческом продукте... ужас.
MaTBeu вне форума Ответить с цитированием
Старый 09.05.2010, 21:06   #16
veter_s_morya
ФорумчанинДжуниор
 
Аватар для veter_s_morya
 
Регистрация: 05.05.2008
Сообщений: 606
По умолчанию

Цитата:
вот я занимался разработкой плагина под Adobe Acrobat
А как вы в коде копаетесь? Я понял не дизасемблированием. А как?
------------------------------
Ум без разума –это беда!
veter_s_morya вне форума Ответить с цитированием
Старый 09.05.2010, 22:07   #17
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Наверное open source тогда ясно почему все не ясно, зачем давать все расписанное, ведь легко создать аналог. Продукт ведь коммерческий
BOBAH13 вне форума Ответить с цитированием
Старый 10.05.2010, 01:12   #18
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Цитата:
Сообщение от veter_s_morya Посмотреть сообщение
А как вы в коде копаетесь? Я понял не дизасемблированием. А как?
SDK открытый, на то он и SDK))) Просто доки нужно курить к нему. В доках все расписано, но для понимания все равно сложно.
MaTBeu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нестандартный хороший грид Шульц БД в Delphi 2 07.01.2009 02:17
Стиль программирования на С/С++ AddisAbeba Общие вопросы C/C++ 36 27.12.2008 00:48
Потерял хороший сайт Умелец Свободное общение 7 31.05.2007 13:47