Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Кто знает очень няшный код ?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1726
Вчера перед сном увидел типичный для делфи проект JsonDataObjects.

Кто нибудь может показать любительский проект на Делфи, у которого код:
1. Компилируется
2. Легко читается
3. Вызывает желание использовать какую-то его часть в своих проектах(как шаблон).

Чаще всего вижу такое:

1. Всё в IFDEF. Это вообще любимое слово делфиста со стажем более 10 лет.
2. Assembler. Стаж 15 лет.
3. Процедурное программирование
4. Вложенные процедуры
5. Файлы DPK - их штук 10-15, бери на угад. Чаще всего ни один из них не работает.
7 сен 18, 11:03    [21667857]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
alekcvp
Member

Откуда:
Сообщений: 1088
Valery_B
Чаще всего вижу такое:

1. Всё в IFDEF. Это вообще любимое слово делфиста со стажем более 10 лет.
5. Файлы DPK - их штук 10-15, бери наугад.

Как вы себе представляете проект, поддерживающий хотя бы диапазон версий 2009-10.2, без этих вот?

Valery_B
3. Процедурное программирование
4. Вложенные процедуры

Эти чем не угодили?
Под каждый чих создавать отдельный объект?
7 сен 18, 11:08    [21667867]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3651
Valery_B,

что это за наезд на крутой проект JsonDataObjects?! Пользуюсь этой библиотекой во многих своих проектах -- одно удовольствие, никаких косяков.

Ни одного пункта с претензиями к нему не подходит (кроме IFDEF, но это болезнь любых компонентов, поддерживающих разные версии делфи). Всё внутри правильно и по делу.
7 сен 18, 11:13    [21667875]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 3527
Valery_B,

Я когда-то написал для себя парсилку/сохранялку JSON. Много лет назад.
Думаю, будет работать на всех дельфях (не считая Zero based strings).

1 модуль, 510 строк.
Нет IFDEF-ов и ассемблера. Стаж > 15 лет

Минусы:
1. Алгоритм далеко не оптимальный - на многомегабайтных данных будет тормозить однозначно. Но у меня такого не бывает, всё, что попадается для моих нужд - работает мгновенно;
2. Нет маскирования/размаскирования юникод-символов. Мне это тоже пофиг.
7 сен 18, 11:20    [21667887]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1726
JaDi,

Наверное, да он работает. Я если честно не стал пробовать.
Но зачем там ассемблер и IFEDF ?)

Это не наезд на конкретно его, а так вообще.
Я и говорю, что других на делфи не видел.
7 сен 18, 11:22    [21667889]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 24148
Valery_B
1. Всё в IFDEF. Это вообще любимое слово делфиста со стажем более 10 лет.

Как еще делать проект под разные версии? Подскажи.
7 сен 18, 11:23    [21667890]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 24148
Valery_B
Но зачем там ассемблер и IFEDF ?)

Флудовая тема. Пятница. Расходимся.
7 сен 18, 11:23    [21667891]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 3267
Valery_B
Вчера перед сном увидел типичный для делфи проект JsonDataObjects.

Кто нибудь может показать любительский проект на Делфи, у которого код:....
у вас постановка вопроса неправильная
это не проект и не шаблон, это либа - для либ все такие действия уместны
7 сен 18, 11:25    [21667894]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 3267
Valery_B
JaDi,

Наверное, да он работает. Я если честно не стал пробовать.
Но зачем там ассемблер и IFEDF ?)

Это не наезд на конкретно его, а так вообще.
Я и говорю, что других на делфи не видел.
нет стандартов, вот и приходится подстраиваться под каждый компилятор
7 сен 18, 11:29    [21667903]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1726
YuRock
1 модуль, 510 строк.

Это правильно

YuRock
Нет IFDEF-ов и ассемблера. Стаж > 15 лет

Что то не вероятное)

Если у тебя что там чего то тормозит - надо заниматься оптимизацией кода. Я уверен, если захочешь - то сделаешь.
Но это повод использовать Asm и IDDEF.

Json - это формат для прикладного программирования.
Asm - это для системного программирования.
IFDEF - это ваще.
7 сен 18, 11:31    [21667907]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3651
Valery_B
JaDi,

Наверное, да он работает. Я если честно не стал пробовать.
Но зачем там ассемблер и IFEDF ?)

Это не наезд на конкретно его, а так вообще.
Я и говорю, что других на делфи не видел.

IFDEF нужны для компиляции под разными версиями делфи (конкретно в том проекте поддержка с делфи 2009). В новых версиях делфи есть много функций, которых раньше тупо не было. Кроме того часть команд может быть уже под другими именами или лежать в другом месте (те же uses) -- всё это надо учитывать компонентописателям. Простым смертным, конечно, такие костыли редко когда нужны.

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

Что касается ассемблера, то в JsonDataObjects он используется всего в одном месте, да и то только для функции под виндой для парса текста. Видимо, что-то связанное с производительностью. Так он нафиг не нужен -- остался как пережиток прошлого.
7 сен 18, 11:31    [21667908]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3651
Лично мне нравится как написан вот этот проект: delphi-leakcheck (аналог FastMM для проверки утечек памяти).
7 сен 18, 11:32    [21667913]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 3267
JaDi
Лично мне нравится как написан вот этот проект: delphi-leakcheck (аналог FastMM для проверки утечек памяти).
Java-style какой-то

в итоге фигня получается, без пузыря столь "гениальную" задумку не осилить
7 сен 18, 11:46    [21667937]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1098
Valery_B,

Загляни в реализацию ConcurrentDictionary на C# от САМИХ....

https://referencesource.microsoft.com/#mscorlib/system/Collections/Concurrent/ConcurrentDictionary.cs

там условных директив с мешок и горошок
7 сен 18, 11:51    [21667944]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1726
X-Cite,

хм...
Я думаю - это исключение, а не правило.

Можешь тоже посмотреть на Gepsio
Хотя на мой взгляд, там автор немного перестарался с комментариями, но с dll без исходников будет очень полезно.

Может у него и не совсем всё оптимально работает, может есть где то ошибки, но сам стиль мне нравиться.
В делфи я ничего такого ни разу не видел.
7 сен 18, 12:33    [21668033]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1726
JaDi
Лично мне нравится как написан вот этот проект: delphi-leakcheck (аналог FastMM для проверки утечек памяти).

Да тоже IFDEF пестрит, а я их боюсь)
Но согласен - стиль заметно лучше.
7 сен 18, 12:46    [21668052]     Ответить | Цитировать Сообщить модератору
 Re: Кто знает очень няшный код ?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29045

валерик, тебе сюда: https://codebeautify.org/aboutus

Posted via ActualForum NNTP Server 1.5

7 сен 18, 13:18    [21668100]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить