Зацените красоту кода на PL/SQL | |
---|---|
urfin Автор Сообщений: 328 Дата регистрации: 17.08.2004 |
-- Удалено по требованию правообладателя ------------------ Исправлено 2 раз(а). Последнее : urfin, 23.11.17 07:01 |
Re: Зацените красоту кода на PL/SQL | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Слишком много букв, ниасилил.
Вполне возможно что оно написано адекватно, но не исключено что можно и сильно сократить... Если запросы в разных ветках по сути одинаковы, просто чуть разные поля вынимают (а дополнительно "прицепляемые" или НЕ прицепляемые таблицы могут и не влиять на результат), то проще сделать один "избыточный" запрос и потом уже его результат разобрать IF-ами - но это невозможно оценить "чисто по коду". Вообще не очень понятно что автор хотел сделать - везде вижу MAX(id) - это странно. Может свидетельствовать о кривой структуре самой БД - не часто требуется искать "какой-то последний id". PL/SQL (как, впрочем, и большинство аналогичных по назначению "СУБД языков") - язык как язык. Позволяет писать вполне нормально. Естественно позволяет и феерическое г*но делать. ------------------ WBR, Igor |
Re: Зацените красоту кода на PL/SQL | |
---|---|
urfin Автор Сообщений: 328 Дата регистрации: 17.08.2004 |
Игорь привет.
Такой стиль кодирования меня просто бесит. Как можно поддерживать подобное ? ------------------ Исправлено 1 раз(а). Последнее : urfin, 22.11.17 08:37 |
Re: Зацените красоту кода на PL/SQL | |
---|---|
CcRaZzY Сообщений: 9390 Откуда: Одинцово Дата регистрации: 29.11.2007 |
Аналогично. ------------------ Девиз по жизни: "п***ц конечно, но погнали." |
Re: Зацените красоту кода на PL/SQL | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Так же как и любое другое
Если не лень, то глубоко вникаешь в логику и переписываешь "красиво". Проблема в том, что в некоторых областях "красиво" невозможно писать - можно только лабать г*нокод - т.к. надо очень быстро и "постоянно изменяемо" Делать же "динамику", т.е. потиху сформировать команду и потом её текст так или иначе исполнить - ну я бы поостерёгся. Хотя оно и сократится, вероятно, по числу буковок раз в 5, но это тоже не будет хорошо... ------------------ WBR, Igor |
Re: Зацените красоту кода на PL/SQL | |
---|---|
CcRaZzY Сообщений: 9390 Откуда: Одинцово Дата регистрации: 29.11.2007 |
Тут еще вопрос - какова все таки задача, насколько важна скорость, есть ли время на "правильную" реализацию, используется ли это постоянно или это разовая выборка чего либо и т.д. ------------------ Девиз по жизни: "п***ц конечно, но погнали." |
Re: Зацените красоту кода на PL/SQL | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Ну потому оно и написано так как написано - чтобы "быстрее" и чтобы меньше думать. Похоже там явно одинаковые запросы встречаются - т.е. вместо составления примитивной матрицы условий и сведения всех одинаково-запросных веток в одну (хотя да, при этом условия в IF/CASE будут скорее всего "ужасными"), автор тупо копипастил запросы...
------------------ WBR, Igor |
Re: Зацените красоту кода на PL/SQL | |
---|---|
sphinx Сообщений: 31179 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Человек может только перешел с другого языка (например, с Delphi) - и с концепцией толком не разобрался, и свой стиль из старого языка притащил. А подсказать (не унижая) - некому. Как по мне - автор кода большой молодец. Хм.. ------------------ "Veni, vidi, vici!"(с) |
Re: Зацените красоту кода на PL/SQL | |
---|---|
Божья_коровка Сообщений: 25731 Дата регистрации: 23.08.2001 |
Согласна с sphinx-ом, мало ли по каким причинам автор кода навоял такую портянку. Нам неизвестны причины и зачем сразу уж так ругаться на предыдущего разраба.
------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... Исправлено 1 раз(а). Последнее : Божья_коровка, 14.09.17 18:52 |
Re: Зацените красоту кода на PL/SQL | |
---|---|
Foxtrot Сообщений: 3408 Откуда: Куда: Дата регистрации: 25.04.2003 |
возможно было утро второго января
------------------ Мойте ноги, моя ноги вы моете и руки |
Re: Зацените красоту кода на PL/SQL | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
"Я это вам гарантирую!.." (C)
|
Re: Зацените красоту кода на PL/SQL | |
---|---|
Vedmak Сообщений: 5966 Откуда: CiTY Дата регистрации: 30.10.2003 |
Зачастую первая версия ТЗ весьма стройна (как невеста перед свадьбой). Все пожимают руки и хлопают по плечу исполнителей. Все улыбаются.
Потом начинается послесвадебная жизнь. Появляются хотелки, перделки и свистелки которые заказчику "ну вот прям щаз срочно надо реализовать или вы, да-да вы лично, будете вешаться если не сделаете". Персонажи бегут к исполнителю "Петрович (Иванычь, Артемичь...) спасай! Нас всех закопают если к 4 утра в субботу это не заработает! Я тебе день к отпуску добавлю! Клянусь!". И Петрович (Иванычь, Артемичь...) начинает ваять, ибо "...спасай! Нас всех закопают если...". Ну а дальше уже как получится... спас или не спас история умалчивает, а код попал к коллеге urfin-у. Затем и тут стал замечен. P.S. Кстати... за время истории и невеста уже не столь стройна как перед свадьбой. P.P.S. А в оригинале кода отступы были или Copy+Past скушал? ------------------ Говорить стоит лишь для тех, кто слушает. Исправлено 2 раз(а). Последнее : Vedmak, 14.09.17 20:11 |
Re: Зацените красоту кода на PL/SQL | |
---|---|
urfin Автор Сообщений: 328 Дата регистрации: 17.08.2004 |
Это кусочек функции из пакета в 7000 строк и таких пакетов многие десятки (если не сотни). ------------------ Исправлено 4 раз(а). Последнее : urfin, 22.11.17 08:36 |
Re: Зацените красоту кода на PL/SQL | |
---|---|
descent52_tmp Сообщений: 214 Откуда: Саров Дата регистрации: 20.11.2014 |
urfin, 'постучите' этого 'автора' клавиатурой по 'голове' так, чтобы просветление у него настало. И продолжайте 'стучать', пока это просветление не настанет. 25 лет никем неконтролируемо 'кодить'! 'Прикопай' этого 'программиста'! P/S слова в скобках замени на те, какое тебе воспитание и восприятие ситуации позволяет. Исправлено 1 раз(а). Последнее : descent52_tmp, 15.09.17 10:33 |
Re: Зацените красоту кода на PL/SQL | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Лишний образец, насколько логичнее и лучше многого существующего синтаксис Фокспро.
Все эти then, ;, и ряд прочих совершенно избыточных смысловых моментов, какой баран придумал столько лишних букв пихать в очевидные и без того конструкции, другие же передирали потом это же уже в свои другие языки. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: Зацените красоту кода на PL/SQL | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
В фокспро всё абсолютно точно так же (через ж*пу) пишется - при желании автора, конечно же. И, если чо, THEN как ключевое слово описан даже в хелпе По поводу ; в pl/sql или каком c# - где это символ завершения команды. Так вот они мне там гораздо больше симпатичны (не говоря уж про внутристрочный комментарий /* тут он */ ) чем в фоксе - это ж с какого бодуна надо было придумать ставить символ-разделитель, в качестве "соединителя" частей команды на разных строках
Я уж не говорю про "лаконичность" фоксового синтаксиса в других случаях - например банальное описание класса. Все эти DEFINE, PROC/ENDPROC вместо простых скобок - очень сокращает количество букв Если что, то сишный стиль - что для if что для циклов - гораздо удобнее. Там вообще нет никаких end_чего_то_там. Просто скобкой блок закрыл (при чём ЛЮБОЙ блок) и всё. Форматирование (отступы) это не проблема - даже не супер-мега-распоследние средства разработки их умеют сами расставлять, и приведут в более-менее приличный вид даже мега-код написанный в одну строку. Проблема (если она есть - код мне читать недосуг) лишь в логической организации кода. Если там на самом деле идентичные запросы в разных ветках, или если путём несложных модификаций часть из этих запросов может быть сведена к одному/двум "общим", или если там избыточные ("глупые/тривиальные") проверки в IF-ах - вот это проблема. А все прочее - от глубины вложенности IF-ов до просто "объёма" - далеко не критерий "г*внистости" этого кода. P.S. К примеру, у нас есть в оракле триггера аудита, так там как раз "километровые" куски "почти повторяющегося" кода - да ещё и записан он по сути в одну строку Просто потому что данный код генерируется автоматом (другой программкой, кстати тоже на pl/sql написанной). ------------------ WBR, Igor |
Re: Зацените красоту кода на PL/SQL | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
По большому счету мы не знаем всей предыстории данного кода и его дальнейшего предназначения.
Вполне возможно, что у автора есть некоторая структура на каком-либо мета-языке, и на основе этой структуры строится данный код именно для исполнения. Соответственно ни отступы, ни комменты в таком случае не нужны. Впрочем как и процедуры. Используя такой подход при желании можно генерировать код под разные платформы на основе одной структуры. Так что тут еще вопрос, кто более продвинут. |
Re: Зацените красоту кода на PL/SQL | |
---|---|
Гулин Федор Сообщений: 4640 Откуда: Минск Дата регистрации: 24.10.2002 |
читабельность конечно слабовата
но имхо проще найти форматтер и переформатировать под себя - дело 1-2 минут про комменты - код не весь я считаю что в начале каждой процедуры-пакета д.б дата и хотя бы кртакое описание что для чего и зачем иначе через пол-года сам не впомнишь + история изменений зы иметь дело с таким кодом я бы не хотел но код подправить легче чем БД - если там косяки то уже ничего не исправишь даже с помощью суперкода зы да уж архитектор - выходит понятие многозначное а раз самому не надо сопровождать код - ну тогда ясно |
Re: Зацените красоту кода на PL/SQL | |
---|---|
CcRaZzY Сообщений: 9390 Откуда: Одинцово Дата регистрации: 29.11.2007 |
Мммммм..... Какой-то архитектор у вас совсем не архитектурный Может стоит намекнуть,что "чукча не писатель", вообще, архитектор заниматься программированием не должен от слова совсем - это как бы не его задача. А так - это не архитектор уже получается, а человек без определенного рода занятия. ------------------ Девиз по жизни: "п***ц конечно, но погнали." |
Re: Зацените красоту кода на PL/SQL | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
То есть БОРЗ(ый)? ------------------ Лень - это неосознанная мудрость. |
© 2000-2024 Fox Club  |