Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  01:35[Войти] | [Зарегистрироваться]
Обсуждение темы:
Можно, но не нужно.


Последнее время я не программирую, а рaзгpебаю зaвалы которые оставили до меня покoления программистов. Чтобы внести минимальное декоративное изменение требуется исправить несколько модулей и потратить несопоставимую по сложности работу по выискиванию всех мест, в которые надо внести изменения.
Дело в том, что тем методы, которые допустимы в примерах, олимпиадах и лабах по программированию, совершенно неприемлемы при создании крупных и долгоживущих прикладных программ.
Предлагаю в этой теме публиковать примеры, как не надо программировать на Delphi, что бы потом не было мучительно больно от встречи с теми, кто исправлял твой код.

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 421 сообщение

Добавить свое сообщение

Отслеживать это обсуждение
<<<... | 371—362 | 361—352 | 351—342 | ...>>>
Всего сообщений в теме: 421; страниц: 43; текущая страница: 7


№ 361   22-08-2009 12:10 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 359« (Сергей Осколков)
___________________________

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


№ 360   21-08-2009 06:41 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 359« (Сергей Осколков)
___________________________
Для правильного владения языком, нет нужды запоминать правила, если можно просто запомнить каждое слово, как пишется.


№ 359   21-08-2009 05:57 Ответить на это сообщение Ответить на это сообщение с цитированием
Не совсем по теме, но:
При использовании функции ReadFile один из параметров задает, сколько байт нужно считать из файла. Нередко в коде встречается название этой переменной Readed.
NB! Глагол to read - неправильный. Его форма инфинитива, прошедшего времени и причастия прошедшего времени пишутся read - read -read, а читаются риид-рэд-рэд. Нет такой формы readed.

Аналогично для WriteFile: write-wrote-written (райт-роут-риттен).
Так что если кто хочет назвать по-английски, то в соответствии с правилами языка будет что-нибудь вроде BytesRead (байтсрэд, прочитано байт) и BytesWritten (записано байт).

Спасибо за внимание. )


№ 358   27-04-2009 07:23 Ответить на это сообщение Ответить на это сообщение с цитированием
Смотрел как была написана чужая программа учета. Писалось на C++Builder, но сути не меняет:
struct TAgent{
  int agent_id;
  AnsiString name;
};
...
Query1->Sql->Text = AnsiString("")+"select agent_id, name from agent order by name, agent_id";
....
vector<TAgent> agents;
TAgent agent;
while (!(Query1->Eof))
{
  agent.agent_id = Query1->FieldValues["agent_id"];
  agent.name = Query1->FieldValues["name"];
  agents.push_back(agent);
  Query1->Next();
}

Кром того потом эта "шняга" выгружалась в StringGrid))). Как вам? Проект мы решили переписать заново. Странно почему почти всюду мы получили прирост быстродействия минимум в 3 раза.)))


№ 357   17-04-2009 08:32 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 355« (Geo)
___________________________

Ответ на »сообщение 354« (Сергей Перовский)
___________________________
>>> Кто может понять модель на полторы тысячи сущностей?
А где сказано, что модель обязательно должна быть плоской? ;-)
О, это волшебное слово "декомпозиция" ;-)


Да, в принципе так оно и есть. В этой модели хорошо выделяются сравнительно небольшие подмодели: модель именования, модель физических единиц измерения, модель графических примитивов и визуализации, топологическая и пространственная модель, модель документа, модель организационной структуры предприятия, модель причинно-следственных связей и т.д. Есть абстрактная высокоуровневая модель, в которой скрыты конкретные детали, и которая очень невелика. Большое количество сущностей частично обусловлено тем, что многие свойства (например: телефонный номер, сторона света, давление) также наречены сущностями.

По спецификации модель не обязана быть реализована целиком, можно взять ту её часть, которая нужна, и реализовать только её.

Вот, если кто интересуется, ссылка:

http://www.posc.org/Specifications/Epicentre_V30/


№ 356   16-04-2009 11:32 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 353« (Сергей Перовский)
___________________________

В примерах, которые я разбирал, все равно приходится описывать все соответствия между свойствами объекта и полями таблиц. Писать все это в Паскале нисколько не дольше.
У вас неправильный ORM :-)
Посмотрите как соответствия между атрибутами объекта и полями таблиц задаются на django - http://docs.djangoproject.com/en/dev/intro/tutorial01/ - на Delphi с библиотеками только от CodeGear такого, разумеется, не получится.


№ 355   16-04-2009 11:00 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 354« (Сергей Перовский)
___________________________
>>> Кто может понять модель на полторы тысячи сущностей?
А где сказано, что модель обязательно должна быть плоской? ;-)
О, это волшебное слово "декомпозиция" ;-)
 Geo


№ 354   16-04-2009 10:59 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 352« (Денис Зайцев)
___________________________
Полезную модельку, не надуманную, на полторы тысячи сущностей.
Ужос! Кто может понять модель на полторы тысячи сущностей? И что делать с моделью, которую никто не может понять?


№ 353   16-04-2009 10:57 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 351« (panda)
___________________________
Но приходится руками писать кучу кода, который по идее уже написан разработчиками ORM.
В примерах, которые я разбирал, все равно приходится описывать все соответствия между свойствами объекта и полями таблиц. Писать все это в Паскале нисколько не дольше.


№ 352   15-04-2009 11:15 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 349« (Сергей Перовский)
___________________________

Ответ на »сообщение 343« (panda)
___________________________
>> Но что делать, если CodeGear не предоставляет механизма ORM/OP?
А оно надо? Очень надо? Тогда расскажите, зачем.
Мне никак не удается понять. Все примеры, которые приводят сторонники ORM мне кажутся надумаными - в них объектная и реляционнная модель спроектированы по разным принципам и возникает искусственная задача описания соответствия.

Кстати, были же штатные средства MDA (Bold/Together/ECO I..IV), которые Borland сильно продвигал в своё время (правда, вроде только в Architect Edition). Там и реляционная БД и исходные тексты могли создаваться из объектной модели автоматически (и далее автоматически эволюционировать вслед за эволюцией объектной модели). Правда, потом концепция MDA была тихо [спущена на тормозах] отдана на аутсорс.
Помню, пытался я как-то в D2006 загрузить модельку из Rational Rose. Полезную модельку, не надуманную, на полторы тысячи сущностей. Сожрало это чудо все 2 гига памяти, тормозило жутко, но что-то сгенерировало. Как выяснилось - с глюками и не полностью :'(
А я... так хотел... одним кликом мыши... :))))


<<<... | 371—362 | 361—352 | 351—342 | ...>>>
Всего сообщений в теме: 421; страниц: 43; текущая страница: 7


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования