На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (495) « Первая ... 414 415 [416] 417 418 ...  494 495  ( Перейти к последнему сообщению )  
> Delphi vs C++ vs C# , ну и Java немножко, где-то ближе к старшему байту номеров страниц
    Цитата KILLER @
    а вот если назвать return'ом - то это уже зарезервированное слово языка


    Т.е. я не могу назвать свой идентификатор словом return?! >:( :D
      Можешь, если очень захочешь... Но только тогда сопровождать будет сложновато... да и палки считай в колеса себе сам вставляешь...
      Сообщение отредактировано: KILLER -
        Цитата KILLER @
        Можешь, если очень захочешь... Но только тогда сопровождать будет сложновато... да и палки считай в колеса себе сам вставляешь...


        Да что ты говоришь? Неужели ты наконец ПОНЯЛ? :D Понял глупость своего аргумента по поводу костыльности result ;)
          Цитата --Ins-- @
          Да что ты говоришь? Неужели ты наконец ПОНЯЛ? Понял глупость своего аргумента по поводу костыльности result

          Дело в том, что Result - ведет себя внешне как переменная. даже тотже Exit(5) уже более понятней. А так со старта, допустим если бы я незнал что Result - в делфях это что то типа return в С++, то при чтении кода, посчитал бы код корявым. ибо нет смысла присваивать переменной значение, а потом выходить из функции...
          Сообщение отредактировано: KILLER -
            Цитата KILLER @
            А так со старта, допустим если бы я незнал что Result - в делфях это что то типа return в С++, то при чтении кода, посчитал бы код корявым.


            А если бы у бабушки был кхм, она была бы дедушкой
              А по-моему неплохо, когда функция просто возвращает результат своего последнего выражения :)
              Правда return все-таки иногда нужен.
              Сообщение отредактировано: D_KEY -
                Цитата D_KEY @
                А по-моему неплохо, когда функция возвращает результат своего последнего выражения

                И как же например возвращать результаты при разных входных параметрах функций и условий что внутри? Вот передали в функцию число 5 - попали в одну ветку вычислений, а если 10 - то уже совсем в другую, а если 0, то вообще сразу выйти и возвратить что то ?
                Не, я понимаю что можно, но сколько строчек это займет? Две, как минимум?

                Добавлено
                Цитата --Ins-- @
                А если бы у бабушки был кхм, она была бы дедушкой

                А это тут причем? Просто когда много кода, и ты его куришь дабы понять логику, тут и перепутать можно, особенно если какой нить умник назовет переменную, схожим образом, как нибудь - Rezult(это так, для примера)...
                Сообщение отредактировано: KILLER -
                  Цитата D_KEY @
                  Правда return все-таки иногда нужен.


                  Досрочный возврат из функции иногда удобен, так что я в принципе против него тоже ничего не имею, но
                  1. Он структурному подходу все-таки более чужд
                  2. Он не необходим - просто иногда с ним проще, чем без него. А иногда, когда когда нужно по-любому заводить переменную для хранения return value - так как-то не особенно

                  Цитата KILLER @
                  А это тут причем?


                  Да просто уже не могу комментировать эту, ээ, как бы сказать помягче <_<
                    --Ins--, понимаешь, когда ты сам пишешь свою программу, и никто кроме тебя туда не лезет, это одно. Тут я согласен, какие ты себе правила придумаешь, по таким и будешь следовать. А вот когда проект уж очень большой, и пишут его 200+ человек, в том числе и супер профи, в том числе и начинающие джуниоры-студенты, тогда когда тебе дадут разобратся в модуле, с очень хитрой логикой, и кучей всего превсего, можно такого насмотрется, что даже govnokod.ru сказкой покажется, я реально при поиске баги видел коменты в недрах исходников:

                    ExpandedWrap disabled
                      //! Какой то очень сложный, стремный и запутанный кусок кода
                      ...
                      //! И коммент к нему, что то типа:
                       
                       
                      //! Мы не знаем как это работает, но оно работет, так что лучше не трогайте этот кусок кода....Занавес.
                      ...some source...

                    И подобных моментов куча. Плюс бывают функции реально по 4к строк кода(особенно в ЮТах), конечно их потом пытаются разбить на мелкие, но так как это юнит тесты, многи забивают. Т.к. очень сложные и длинные сценарии.
                    Я помню у нас, для нашего модуля, файл исходников с юнит тестами, дорос до размеров 2.5 МЕГАБАЙТА! Это было что то. Хорошо потом кастрировали его, сейчас уже хоть более менее по человечески все сделали, а когда сроки поджимают...
                    И вот когда ЮТ фейлится, и ты начинаешь во всем этом разбиратся, и долго разбиратся, особенно если не ты писал, и понятия не имеешь как эта часть системы должна вообще работать.

                    Добавлено
                    Цитата KILLER @
                    И вот когда ЮТ фейлится, и ты начинаешь во всем этом разбиратся, и долго разбиратся, особенно если не ты писал, и понятия не имеешь как эта часть системы должна вообще работать.

                    А ну да, мысль оборвалась, не закончил :D ... и вот тогда, всякие Result = 5; реально будут восприниматся как переменная, поверь :D
                    Сообщение отредактировано: KILLER -
                      Мне return более нравицца. :)
                      Цитата --Ins-- @
                      А иногда, когда когда нужно по-любому заводить переменную для хранения return value
                      так иногда и при резалте надо заводить, а потом к примеру при каких то условиях ложить на нее а резулту отдать ноль, или еще чего..
                        Цитата SPM @
                        так иногда и при резалте надо заводить, а потом к примеру при каких то условиях ложить на нее а резулту отдать ноль, или еще чего..

                        ы? Можно подробнее про такие махинации? Вот уже что то костыльностью понесло. Я просто не пойму зачем туда ложить, а потом доставать а Result обнулять? На примере простеньком можно? :)
                          Цитата SPM @
                          так иногда и при резалте надо заводить, а потом к примеру при каких то условиях ложить на нее а резулту отдать ноль, или еще чего..


                          :wacko: Result - уже переменная, ничего заводить не надо

                          Цитата KILLER @
                          --Ins--, понимаешь, когда ты сам пишешь свою программу, и никто кроме тебя туда не лезет, это одно. Тут я согласен, какие ты себе правила придумаешь, по таким и будешь следовать. А вот когда проект уж очень большой, и пишут его 200+ человек, в том числе и супер профи, в том числе и начинающие джуниоры-студенты, тогда когда тебе дадут разобратся в модуле, с очень хитрой логикой, и кучей всего превсего, можно такого насмотрется, что даже govnokod.ru сказкой покажется, я реально при поиске баги видел коменты в недрах исходников:


                          KILLER, ты захавал мой мозг :D Я лучше воздержусь от комментирования этого и более раннего бреда, поверь, так будет лучше для всех. Если ты действительно считаешь это своими аргументами, а не просто хочешь поспорить на тему "в Delphi все плохо", то я тебе сочувствую, а если просто поспорить - то давай на каком-то более интересном примере и более разумных аргументах, если ты вообще способен сказать что-то недибильное <_<
                          Сообщение отредактировано: --Ins-- -
                            Блин, опять сообщения не отображаются :wall:
                              Цитата --Ins-- @
                              KILLER, ты захавал мой мозг Я лучше воздержусь от комментирования этого и более раннего бреда, поверь, так будет лучше для всех. Если ты действительно считаешь это своими аргументами, а не просто хочешь поспорить на тему "в Delphi все плохо", то я тебе сочувствую, а если просто поспорить - то давай на каком-то более интересном примере и более разумных аргументах, если ты вообще способен сказать что-то недибильное

                              Дебильное обычно только делфисты тут плетут, ты не менее дебильное тут пишешь. И ничего, я же молчу, и другие молчат, да пытаются указывать на то, как вы костылями жанглируете, но вот так прямо не оскорбляют. А ты типа научился как обезьянка в делфях тыкать, и уже начинаешь судить о других ЯП. Я так понимаю что ты всегда пишешь идеальный код, какие бы сроки и объем работ тебе не поставили, да и ошибок ты никогда не делаешь, костыли - для тебя это слово чуждо видимо . Ты просто следи за своими словами, ладно? А более разумные аргументы, ты в данном контексте всеравно не осилишь, т.к. из твоего поста, я уже понял, что толком с таким ты и не сталкивался. Дальше смысла тебе уже что либо доказывать в данном контексте нет. Вот когда сталкнешься, тогда посмотрим.
                              А хотя врятли ты с таким сталкнешься, сама делфи не потянет такие проекты, она просто вылетит по какому нибудь исключению... Я этот момент не учел...

                              Добавлено
                              Цитата --Ins-- @
                              Если ты действительно считаешь это своими аргументами, а не просто хочешь поспорить на тему "в Delphi все плохо"

                              Вот тут ты кстати не прав. ЯП тут вообще не причем как бы, вот совершенно. Я уверен что на делфи можно написать такое извращение, что и разбиратся не захочеца. Один из минусов очень больших проектов - это то, что задействовано очень много людей, и порой бывает выясняется уже потом, что не правильно что то спроектировали, а времени нет, а нужно чтоб работало, вот тогда и пишутся по сути костыли. Так вот потом когда тебе дают эти костыли переписать на нормальный код, вот тогда и начинаются пляски с бубном... Особенно когда их не рефакторили несколько лет(ну забыли), и вот там что только не увидишь, конечно явные ляпы отсекаются еще на стадии ревью, а вот какие нибудь изподвыверта - фиг просто так опознаешь.
                              Хочешь пример? Ну ладно...
                              вот тебе пример, есть говнокод аля:
                              ExpandedWrap disabled
                                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, то ты потом долго будешь матерится, особенно если функция достаточно сложная и длинная...
                              Сообщение отредактировано: KILLER -
                                Цитата KILLER @
                                А более разумные аргументы, ты в данном контексте всеравно не осилишь


                                Хорошо :D Только комментировать все равно не проси, я от такого сам тупею :D Может у korvin-а и есть иммунитет и выдержка с подобным аргументированно спорить, но у меня в последнее время с ней напряженка :yes:
                                Сообщение отредактировано: --Ins-- -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 414 415 [416] 417 418 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.5760 ]   [ 15 queries used ]   [ Generated: 29.07.26, 22:28 GMT ]