Тема открыта по просьбе жителей Королевства и посвящена обсуждению вопросов оптимизации кода. Выставляйте свои лучшие и худшие тексты и не стесняйтесь их обсуждать. В споре рождается истина. Или, по крайней мере, оптимизация.
Всего в теме 737 сообщений
Добавить свое сообщение
Отслеживать это обсуждение 
- Тестирование проекта. Отладка.
- Подводные камни
- Централизованная обработка ошибок
- Бета-тестирование
- Давайте учиться на ошибках.
- Почему программисты допускают ошибки?
- Автоматизированные тесты для GUI
- О системах контроля ошибок
№ 337 11-10-2005 07:48 |  |
Ответ на »сообщение 332« (Geo)
___________________________
Потому что Delphi -- это все же пока почти Pascal. И все, кто плотно работал на Паскале, будут использовать привычные паскалевские конструкции.
Нет. Delphi очень далеко ушел от Turbo Pascal. Взять хотя бы реализацию ООП. Я в свое время тоже плотно работал на Паскале, но сейчас стараюсь решать задачи несколько по-другому, не в паскалевском стиле. И результат получается более понятным как мне, так и всему коллективу разработчиков, где я работаю.
№ 336 11-10-2005 05:16 |  |
Ответ на »сообщение 325« (al_mt)
___________________________
Это не вопрос и не ответ, а скорее опрос. Дело в том, что при пользовании ООП в дельфах, я все операции с указателями на объекты прописываю явно, ну там ^@. Некоторых моих коллег это дико злит (уж не знаю почему :) ). А мне кажется, что такое явное указание повышает удобочитаемость программ. Ибо становится ясной не только реализация, но и ход мысли программиста. По крайней мере, мне в собственном коде становится проще разобраться :)
Ваше мнение?
Удобочитаемость повысится, если это в тексте встречается относительно редко. Примерно также как при выделении жирным, если каждое второе слово, то удобочитаемость резко падает.
№ 335 11-10-2005 04:47 |  |
Ответ на »сообщение 334« (Geo)
___________________________
Ясно :) Я начинал с 8080, действительно в кодах, но все программы сначала записывал в псевдокоде, который потом ручками "компилировал" в коды :)
№ 334 10-10-2005 14:56 |  |
Ответ на »сообщение 333« (al_mt)
___________________________
>>> Неужели Вы сами ни когда так не писали? Сразу в ассемблере???
Вы будете смеяться, но я в машинных кодах начал программировать раньше, чем на ассемблере. Сначала, раздобыв систему машинных команд процессора 8086/88 писал непосредственно в кодах (правда, пришлось специально для этого написать на Паскале простенький редактор, позволяющий вводить с клавиатуры #0). Потом стал создавать машинный кода в отладчике AFD (набиваешь в памяти код и сохраняешь его на диск в виде *.com файла). При таком подходе у меня просто не было потребностей создавать свой собственный псевдокод: тот псевдокод, который использовал отладчик, меня полностью устраивал.
Кстати, первое время после перехода на ассемблер я бурчал, что это черт знает что, а не низкоуровневый язык: этого нельзя, того нельзя... То он ругается про что-то межсегментное, то никак не получается использовать ячейку константы в машинной команде операции с константой в качестве переменной (чтобы не возиться с регистром DS). Потом ничего... привык :-)
№ 333 10-10-2005 03:33 |  |
Ответ на »сообщение 331« (panda)
___________________________
В общем речь идёт о всяких жутковато-выглядящих решениях, когда алгоритмы достаточно сильно завязаны на язык, а еще надо, чтобы другие чётко код понимали. ^@ коллег иногда раздражают, но зато все их вопли выглядят как "да нахрена когда и так ясно!", а если убрать ^@, то вопли звучат "конечно не работает если у тебя код совершенно не читаемый!!" :)))))))))))
Под псевдокодом для Z80 я подразумеваю тот самопридуманный язык (гибрид ассемблера паскаля и си), на котором пишется "болванка" ассемблерной программы :) Неужели Вы сами ни когда так не писали? Сразу в ассемблере???
№ 332 10-10-2005 01:58 |  |
Ответ на »сообщение 330« (panda)
___________________________
>>> Почему Вы считаете, что ^ удобно использовать в языке "Delphi Language"?
Потому что Delphi -- это все же пока почти Pascal. И все, кто плотно работал на Паскале, будут использовать привычные паскалевские конструкции.
>>> Как и то, что с UML можно осуществить трансляцию хоть на Delphi, хоть на Java.
Ну и что? Как гласит старая шутка: "Фортрановскую программу можно написать на любом языке программирования" :-) Вы предпочитаете подняться на более высокий уровень абстракции и разрабатывать более универсальные решения на UML. Ну, это Ваше право. А мне нравится заниматься реализацией методов на Паскале. Вот такое я странное существо ;-)
№ 331 10-10-2005 01:06 |  |
Ответ на »сообщение 329« (al_mt)
___________________________
Собственно, у меня это рецидив псевдокода, на котором я писал проги для Z80. Чтобы всегда знать откуда что берётся.
Вот тут ничего не могу сказать. Для Z80 я писал только на бейсике и ассемблере, да и то немного.
Чисто статистически у меня стало меньше ошибок типа "забыл отдать память"...
Я предпочитаю придерживаться нескольких простых правил, например, "память должна освобождаться там же, где она выделяется или в методе-отражении (конструктор-деструктор)" или "сначала напиши код, освобождающий память, а потом - код, выделяющий память".
№ 330 10-10-2005 01:02 |  |
Ответ на »сообщение 328« (Geo)
___________________________
А причем тут Java? Мне показалось, что речь идет о Delphi. В каждом языке программирования есть некоторые специфические конструкции, которые удобно использовать в нем, но не очень удобно -- в других языках.
"которые удобно использовать в нем" - ключевые слова. Почему Вы считаете, что ^ удобно использовать в языке "Delphi Language"? Я, например, предпочитаю описывать задачу в терминах объектов, где Delphi - всего лишь конечный язык, больше понятный комилятору, чем мне. В UML вообще нет "крыжиков". Это почему-то никому не кажется странным. Как и то, что с UML можно осуществить трансляцию хоть на Delphi, хоть на Java.
№ 329 08-10-2005 06:47 |  |
Ответ на »сообщение 327« (panda)
___________________________
Java я не знаю (только Java-script), потому и не знаю. Основной смысл "указателя на указатель" - в любой момент можно точно сказать, что "вот это здесь - это вот тот экземпляр класса" :) Собственно, у меня это рецидив псевдокода, на котором я писал проги для Z80. Чтобы всегда знать откуда что берётся. Чисто статистически у меня стало меньше ошибок типа "забыл отдать память"...
№ 328 07-10-2005 14:55 |  |
Ответ на »сообщение 327« (panda)
___________________________
А причем тут Java? Мне показалось, что речь идет о Delphi. В каждом языке программирования есть некоторые специфические конструкции, которые удобно использовать в нем, но не очень удобно -- в других языках.
Добавить свое сообщение
Отслеживать это обсуждение 
Дополнительная навигация: |
|