Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.192] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 414 415 [416] 417 418 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#6226
,
|
|
|
|
Т.е. я не могу назвать свой идентификатор словом return?! |
|
Сообщ.
#6227
,
|
|
|
|
Можешь, если очень захочешь... Но только тогда сопровождать будет сложновато... да и палки считай в колеса себе сам вставляешь...
|
|
Сообщ.
#6228
,
|
|
|
|
Цитата KILLER @ Можешь, если очень захочешь... Но только тогда сопровождать будет сложновато... да и палки считай в колеса себе сам вставляешь... Да что ты говоришь? Неужели ты наконец ПОНЯЛ? Понял глупость своего аргумента по поводу костыльности result |
|
Сообщ.
#6229
,
|
|
|
|
Цитата --Ins-- @ Да что ты говоришь? Неужели ты наконец ПОНЯЛ? Понял глупость своего аргумента по поводу костыльности result Дело в том, что Result - ведет себя внешне как переменная. даже тотже Exit(5) уже более понятней. А так со старта, допустим если бы я незнал что Result - в делфях это что то типа return в С++, то при чтении кода, посчитал бы код корявым. ибо нет смысла присваивать переменной значение, а потом выходить из функции... |
|
Сообщ.
#6230
,
|
|
|
|
Цитата KILLER @ А так со старта, допустим если бы я незнал что Result - в делфях это что то типа return в С++, то при чтении кода, посчитал бы код корявым. А если бы у бабушки был кхм, она была бы дедушкой |
|
Сообщ.
#6231
,
|
|
|
|
А по-моему неплохо, когда функция просто возвращает результат своего последнего выражения
Правда return все-таки иногда нужен. |
|
Сообщ.
#6232
,
|
|
|
|
Цитата D_KEY @ А по-моему неплохо, когда функция возвращает результат своего последнего выражения И как же например возвращать результаты при разных входных параметрах функций и условий что внутри? Вот передали в функцию число 5 - попали в одну ветку вычислений, а если 10 - то уже совсем в другую, а если 0, то вообще сразу выйти и возвратить что то ? Не, я понимаю что можно, но сколько строчек это займет? Две, как минимум? Добавлено Цитата --Ins-- @ А если бы у бабушки был кхм, она была бы дедушкой А это тут причем? Просто когда много кода, и ты его куришь дабы понять логику, тут и перепутать можно, особенно если какой нить умник назовет переменную, схожим образом, как нибудь - Rezult(это так, для примера)... |
|
Сообщ.
#6233
,
|
|
|
|
Цитата D_KEY @ Правда return все-таки иногда нужен. Досрочный возврат из функции иногда удобен, так что я в принципе против него тоже ничего не имею, но 1. Он структурному подходу все-таки более чужд 2. Он не необходим - просто иногда с ним проще, чем без него. А иногда, когда когда нужно по-любому заводить переменную для хранения return value - так как-то не особенно Цитата KILLER @ А это тут причем? Да просто уже не могу комментировать эту, ээ, как бы сказать помягче |
|
Сообщ.
#6234
,
|
|
|
|
--Ins--, понимаешь, когда ты сам пишешь свою программу, и никто кроме тебя туда не лезет, это одно. Тут я согласен, какие ты себе правила придумаешь, по таким и будешь следовать. А вот когда проект уж очень большой, и пишут его 200+ человек, в том числе и супер профи, в том числе и начинающие джуниоры-студенты, тогда когда тебе дадут разобратся в модуле, с очень хитрой логикой, и кучей всего превсего, можно такого насмотрется, что даже govnokod.ru сказкой покажется, я реально при поиске баги видел коменты в недрах исходников:
![]() ![]() //! Какой то очень сложный, стремный и запутанный кусок кода ... //! И коммент к нему, что то типа: //! Мы не знаем как это работает, но оно работет, так что лучше не трогайте этот кусок кода....Занавес. ...some source... И подобных моментов куча. Плюс бывают функции реально по 4к строк кода(особенно в ЮТах), конечно их потом пытаются разбить на мелкие, но так как это юнит тесты, многи забивают. Т.к. очень сложные и длинные сценарии. Я помню у нас, для нашего модуля, файл исходников с юнит тестами, дорос до размеров 2.5 МЕГАБАЙТА! Это было что то. Хорошо потом кастрировали его, сейчас уже хоть более менее по человечески все сделали, а когда сроки поджимают... И вот когда ЮТ фейлится, и ты начинаешь во всем этом разбиратся, и долго разбиратся, особенно если не ты писал, и понятия не имеешь как эта часть системы должна вообще работать. Добавлено Цитата KILLER @ И вот когда ЮТ фейлится, и ты начинаешь во всем этом разбиратся, и долго разбиратся, особенно если не ты писал, и понятия не имеешь как эта часть системы должна вообще работать. А ну да, мысль оборвалась, не закончил ... и вот тогда, всякие Result = 5; реально будут восприниматся как переменная, поверь |
|
Сообщ.
#6235
,
|
|
|
|
Мне return более нравицца.
![]() Цитата --Ins-- @ так иногда и при резалте надо заводить, а потом к примеру при каких то условиях ложить на нее а резулту отдать ноль, или еще чего.. А иногда, когда когда нужно по-любому заводить переменную для хранения return value |
|
Сообщ.
#6236
,
|
|
|
|
Цитата SPM @ так иногда и при резалте надо заводить, а потом к примеру при каких то условиях ложить на нее а резулту отдать ноль, или еще чего.. ы? Можно подробнее про такие махинации? Вот уже что то костыльностью понесло. Я просто не пойму зачем туда ложить, а потом доставать а Result обнулять? На примере простеньком можно? |
|
Сообщ.
#6237
,
|
|
|
|
Цитата SPM @ так иногда и при резалте надо заводить, а потом к примеру при каких то условиях ложить на нее а резулту отдать ноль, или еще чего.. Result - уже переменная, ничего заводить не надоЦитата KILLER @ --Ins--, понимаешь, когда ты сам пишешь свою программу, и никто кроме тебя туда не лезет, это одно. Тут я согласен, какие ты себе правила придумаешь, по таким и будешь следовать. А вот когда проект уж очень большой, и пишут его 200+ человек, в том числе и супер профи, в том числе и начинающие джуниоры-студенты, тогда когда тебе дадут разобратся в модуле, с очень хитрой логикой, и кучей всего превсего, можно такого насмотрется, что даже govnokod.ru сказкой покажется, я реально при поиске баги видел коменты в недрах исходников: KILLER, ты захавал мой мозг Я лучше воздержусь от комментирования этого и более раннего бреда, поверь, так будет лучше для всех. Если ты действительно считаешь это своими аргументами, а не просто хочешь поспорить на тему "в Delphi все плохо", то я тебе сочувствую, а если просто поспорить - то давай на каком-то более интересном примере и более разумных аргументах, если ты вообще способен сказать что-то недибильное |
|
Сообщ.
#6238
,
|
|
|
|
Блин, опять сообщения не отображаются
|
|
Сообщ.
#6239
,
|
|
|
|
Цитата --Ins-- @ KILLER, ты захавал мой мозг Я лучше воздержусь от комментирования этого и более раннего бреда, поверь, так будет лучше для всех. Если ты действительно считаешь это своими аргументами, а не просто хочешь поспорить на тему "в Delphi все плохо", то я тебе сочувствую, а если просто поспорить - то давай на каком-то более интересном примере и более разумных аргументах, если ты вообще способен сказать что-то недибильное Дебильное обычно только делфисты тут плетут, ты не менее дебильное тут пишешь. И ничего, я же молчу, и другие молчат, да пытаются указывать на то, как вы костылями жанглируете, но вот так прямо не оскорбляют. А ты типа научился как обезьянка в делфях тыкать, и уже начинаешь судить о других ЯП. Я так понимаю что ты всегда пишешь идеальный код, какие бы сроки и объем работ тебе не поставили, да и ошибок ты никогда не делаешь, костыли - для тебя это слово чуждо видимо . Ты просто следи за своими словами, ладно? А более разумные аргументы, ты в данном контексте всеравно не осилишь, т.к. из твоего поста, я уже понял, что толком с таким ты и не сталкивался. Дальше смысла тебе уже что либо доказывать в данном контексте нет. Вот когда сталкнешься, тогда посмотрим. А хотя врятли ты с таким сталкнешься, сама делфи не потянет такие проекты, она просто вылетит по какому нибудь исключению... Я этот момент не учел... Добавлено Цитата --Ins-- @ Если ты действительно считаешь это своими аргументами, а не просто хочешь поспорить на тему "в Delphi все плохо" Вот тут ты кстати не прав. ЯП тут вообще не причем как бы, вот совершенно. Я уверен что на делфи можно написать такое извращение, что и разбиратся не захочеца. Один из минусов очень больших проектов - это то, что задействовано очень много людей, и порой бывает выясняется уже потом, что не правильно что то спроектировали, а времени нет, а нужно чтоб работало, вот тогда и пишутся по сути костыли. Так вот потом когда тебе дают эти костыли переписать на нормальный код, вот тогда и начинаются пляски с бубном... Особенно когда их не рефакторили несколько лет(ну забыли), и вот там что только не увидишь, конечно явные ляпы отсекаются еще на стадии ревью, а вот какие нибудь изподвыверта - фиг просто так опознаешь. Хочешь пример? Ну ладно... вот тебе пример, есть говнокод аля: ![]() ![]() integer SomeFunc() { Result = obj.getSomeMethod(); if(Result == NULL) { Exit; } if(Result == obj2.GetObject()) { ... Result = /*что то*/ } else if (Result == obj3.GetMethod()) { ... //! сложный код TSomeObject tSomeObj = CreateInstance(); ... TemplateObj tObj = Result; .../*манипуляции с tObj*/ Result = /*что то там после вычислений*/ if(Result == /*чота там*/) { //! опять какие то манипуляции Result = что то. exit; } else { exit; } } Result = /*что то*/ Exit; } Можно такое написать? Ну подобное, в синтаксисе делфях? Думаю можно, а если можно, то обязательно кто то такое напишет, и потом разбиратся в этом тебе, и не думаю что тут уж так все просто. Это при том, что у меня в примере только 1 переменная активно используемая, а если их 10 ? По мне, так лучше return, нагляднее и надежнее, плюс гарантированно выкидывает из функции, а вот если я в вышеприведенном коде забуду написать Exit, гденибудь внутри if, то ты потом долго будешь матерится, особенно если функция достаточно сложная и длинная... |
|
Сообщ.
#6240
,
|
|
|
|
Цитата KILLER @ А более разумные аргументы, ты в данном контексте всеравно не осилишь Хорошо Только комментировать все равно не проси, я от такого сам тупею Может у korvin-а и есть иммунитет и выдержка с подобным аргументированно спорить, но у меня в последнее время с ней напряженка |