Субъективный Си / Говнокод #17947 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
[self.userView sd_setImageWithURL:[comment.sender avatarThumbnailURL] placeholderImage:[UIImage coloredAvatarWithId:[NSString stringWithFormat:@"%lld", comment.sender.idValue]
																									 andName:comment.sender.firstName
																									  ofSize:CGSizeMake (57, 57)]];

	self.dateLabel.text = [self tsFromDate:comment.createdAt];

	[self.dateLabel sizeToFit];

	if (comment.sender == [SWCore account])
	{
		self.balloonImage.image = [[UIImage imageNamed:@"in_baloon"] resizableStretchedImageWithCapInsets:UIEdgeInsetsMake (20, 50, 20, 50)];

		self.messageLabel.textColor = [UIColor colorWithWhite:.4f alpha:1.0f];

		self.userView.left = 20;
		self.balloonImage.right = 300;
		self.dateLabel.right = self.balloonImage.right;
		self.dateIcon.right = self.dateLabel.left - 3;
	}
	else
	{
		self.balloonImage.image = [[UIImage imageNamed:@"out_baloon"] resizableStretchedImageWithCapInsets:UIEdgeInsetsMake (20, 50, 20, 50)];

		self.messageLabel.textColor = [UIColor whiteColor];

		self.userView.right = 300;
		self.balloonImage.left = 20;
		self.dateIcon.left = self.balloonImage.left;
		self.dateLabel.left = self.dateIcon.right + 3;
	}

Мастерское владение размерами

Запостил: shadeapps shadeapps, (Updated )

Комментарии (156) RSS

    • Ну что вы отвечаете мне на 30 строк кода 3 тысячами?) Там конечно мрак полный, но в плане размеров всё примерно в том же ключе
      Ответить
      • Ну у вас размер указан в одном месте, а по ссылке - этак в 10ти для каждого значения 🙂
        Ответить
        • Ну это я чтобы людей сильно не пугать) Общая тенденция ясна, так сказать
          Ответить
  • думается поставлю ка я минус:
    1)проект небось без autolayout?
    2)думаете цифр много, не объявленных константами? Программировал одну игру со сложным поведением врагов. Если бы я все цифры там объявлял константами, то они бы занимали больше места, чем использующий их код
    Ответить
    • Сложное поведение врагов и много цифр это типа километровые простыни ифов? 🙂
      Ответить
    • О, это еще один уверовавший в живительную силу констант.
      Смысл недовольства произвольными числами в коде не в том, что они не поименованы какой-то константой, а в том, что они выбраны произвольно. В хорошем коде числа редко когда случаются просто так, от того, что где-то нужно было задать отступ, или кнопку подвинуть, или ХП противнику добавить. Они должны получаться из темы для скина, ограничений разметки, событий в игре.
      Ответить
      • да, щас. Нужно было заставить врага двигаться по проекции винтовой линии на произвольную плоскость (или какой-то похожей траектории):
        http://alldrawings.ru/images/nachertalka/10.10.27353a3c30403532%20-%201d30473540423042353b4c3d304f%2033353e 3c354240384f%2038%2047354047353d3835.%20 476%20414240.,%201c.;%20131826%20123b303 43e41,%202002-82.png

        ну давайте - выведите мне формулу или хотя бы кодом. Сразу говорю - не синусоида и не косинусоида из википедии, потому что плоскость произвольная, под произвольным углом - получаются петли
        Ответить
          • сори, случайно нажал, а отмены нет - на тебе плюс за другой пост
            Ответить
            • >> Спрашиваю, потому что кто-то словил батхерт и заминусовал каждый мой коммент ровно на один
              >>потому что кто-то словил батхерт и заминусовал каждый мой коммент
              А ты переживал.
              Ответить
        • > выведите мне формулу
          Наклон - аффинное преобразование, описывается матрицей 3х3. Винтовая линия - (r*cos(t); r*sin(t); h*t). Умножаем этот вектор на матрицу, отбрасываем z, получаем проекцию. Всё. Код/формулы писать лениво.

          Какие тут цифры то, помимо входных данных да π?
          Ответить
          • Входным данным можно считать только точку и направление движения. Радиус, углы наклона к плоскости, коэффициенты сжатия траектории - это "тип врага". А враг еще должен быть направлен по касательной к этой траектории. А теперь представим, что врагов только такого типа подвидов штук 10 - различающихся параметрами данными и где-нибудь кроме класса такого врага их хранить нецелесообразно и они нигде не используются кроме одного метода инициализации. А теперь представим что это не единственный вид врагов, потому что игра не тетрис...
            Вот и получайте 100500 констант, каждой из которых вы хотите завести отдельную переменную/название

            но спасибо за идею - когда-то когда писал эту игру, то не додумался использовать 3D матрицы, кстати для этого случая лучше сразу 4х4 брать
            Ответить
            • > кроме одного метода инициализации
              Ну так эти константы в методе инициализации раскладываются куда надо, а не прямо посреди формул зафигачены. И у них имена уже есть, раз их в какие-то поля разложили.

              > 4х4
              Чтобы сдвиг ей же считать? Резонно.

              P.S. Хотя я бы постарался вынести эти константы в конфигурашку, чтобы легче было править потом.
              Ответить
            • > А теперь представим, что врагов только такого типа подвидов штук 10 - различающихся параметрами данными и где-нибудь кроме класса такого врага их хранить нецелесообразно

              Хранить их целесообразно именно так, как и сказал @wvxvw - в виде ресурсов для игры.
              Ответить
              • Мне ещё интересно, почему такое странное разделение... Почему точка и направление - входные данные для алгоритма, а остальные параметры, хоть и неизменные для данного типа врагов, внезапно, не считаются входными данными.
                Ответить
                • А вы каждый раз когда создаете врага, то указываете ему вручную все параметры движения снаружи класса?)) Ну тогда понятно почему не согласились с предложенным мной вариантом. Может вы еще и массивом передаете эти константы, чтобы потом распарсить?

                  Имен у "одноразовых" констант у меня нет, есть только названия переменных, которые хранят значения (как например в приведенном коде) - несколько констант на такую переменную. И есть название набора переменных - например пачка параметров для типа врага - генерирую наборы констант в зависимости от предложенного типа.

                  4x4 - то же самое преобразование в 3D, только позволяет перемножить все матрицы в одну

                  Целесообразно константы в виде ресурсов? То есть мало того, что вы им сочиняете названия - так еще сделать их глобальными, незащищенными и тратить время на считывание из файла?
                  Ответить
                  • > тратить время
                    Рядом грузятся мегабайты картинок и звуков, а мы экономим на сотне байтиков...

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

                    > Целесообразно константы в виде ресурсов?
                    Еще как целесообразно! Что-нибудь типа (сильно упрощено):
                    enemy_types: [
                        {
                           name: "bug";
                           hp: 5; damage: 5;
                           behavior: "spiral_move"; speed: 5; spiral_skew: 0.5, spiral_radius: 50;
                        }, {
                           name: "bugger";
                           hp: 20; damage: 10;
                           behavior: "spiral_move"; speed: 3; spiral_skew: 0.7, spiral_radius: 100;
                        }, {
                           name: "buggest";
                           hp: 200; damage: 50;
                           behavior: "buggest_boss"; speed: 1;
                        }
                    ]
                    Ответить
                      • > для начала на ТЫ мы еще не переходили
                        Здесь 99.99% людей общается на ты.... Ничего личного, просто дефолтное обращение.

                        > ты хочешь все хардкодить
                        Ну где же я захардкодил? Я вынес все настройки во конфиг, чтобы их могли крутить не программисты. Общее поведение я убрал в behavior'ы.

                        Может быть я неправильно понял Вашу идею про константы в методе инициализации? Можно как-то поподробнее её расписать?

                        > китайский код
                        Оверинжиниринг скорее, если игрушка несложная.
                        Ответить
                      • P.S. Сейчас я понимаю Вашу идею как что-то из:
                        - есть базовый класс для типа врага (в котором и инкапсулирован расчётный метод), есть его потомки для подвидов, у которых в конструкторе заполняются поля, которые будут юзаться при расчете;
                        - есть класс для типа врага, которому в конструктор передаётся подвид, и там какой-нибудь switch, заполняющий поля, которые будут юзаться при расчете.

                        Я всё неправильно понял, наверное?
                        Ответить
                        • Почти, только почти без потомков - у врагов обычно или слишком похожее поведение, или слишком разное, чтобы создавать потомков.
                          Ответить
                          • А эти числа, они в конструкторе вбиты или передаются в него через аргументы?
                            Ответить
                            • и вбиты, и передаются/выставляются снаружи - например вышеупомянутая позиция в пространстве
                              Ответить
                      • >>для начала на ТЫ мы еще не переходили
                        >>ты хочешь все хардкодить?

                        ЧСВ овер 9000
                        что позволено юпитеру не позволено быку
                        Ответить
                        • Кегдан, ты это чего воруешь мои комменты. Это я хотел написать. 🙁
                          Ответить
                            • мимими. Тфу блядь. Пойду шоли пиваса с пацанами ёбну. А то как гомики прям.
                              Ответить
                                • Лайк, подписка, остроумный комментарий.
                                  Жду второй сезон.
                                  Ответить
                                    • Я скучал по тебе, няша. А ты не звонишь и не пишешь. Как можно?
                                      Не могу ждать, встречаемся на набережной ровно на том месте, где два года назад мы ели тортик, а отцветающая яблоня осыпала нас своими лепестками.
                                      Ответить
                                        • можно. Сейчас не будет надоедливых лепестков. Только мы и тортик.
                                          Ответить
                                          • А давай ты просто оставить тортик в условленном месте и пойдешь домой
                                            Ответить
                                              • Розочка из насвая, вместо пудры кокаин

                                                - Марьивана, я хочу еще кусочек того торта...
                                                - Петя, иди нахуй, это мой торт. Включайте Лепса
                                                Ответить
                                            • А как же страстные поцелуи, которые согреют нас в такой мороз?
                                              Ответить
                                                • Тоскливо.
                                                  Ну всё, остаюсь дома, буду торт экономить.
                                                  Ответить
                                                  • Тебе сладкого нельзя. У тебя диабет. Доверься мне, я врач. Оставь торт под памятником Чехову и никто не пострадает
                                                    Ответить
                        • ты про чье ЧСВ? Спрашиваю, потому что кто-то словил батхерт и заминусовал каждый мой коммент ровно на один
                          Ответить
                          • Это был я. Заминусовал тебя, потому что ты чудак и зануда.
                            Ответить
  • Кажется, что кто-то разгулялся не на шутку? Часто тут такое бывает?)
    Ответить
    • У этого кого - то, не будем показывать на Семена пальцем, батхерд размером с галактику на почве его несостоятельности ни как программиста, ни как мужчины, ни как живого существа вообще
      Ответить
        • >видите-ли, вечно клянчу код и нихуя не могу написать сам. А тут облом.
          Наоборот сёма, совсем не разочаровал. Потом подробнее объясню.
          И да признаю, можешь написать сам: гомоэротические фантазии придумывать ты мастак.
          Ответить
      • исходя из того, что он столько времени уделяет говнокоду, подозреваю, что мусорка в принципе его единственный источник дохода
        Ответить
          • Я бы посадил тебя на колени, поцеловал. Потом стал бы ласкать тебя ниже, пока у тебя не началась бы течка. Затем я расстегнул бы ширинку и вогнал в тебя свой горячий, напряжённый ствол по самые яйца и ебал бы, до тех пор, пока ты, обессилев, не упал бы в беспамятстве. Я бы размазал остатки спермы по твоему блаженному личику, вложил смятую пачку сигарет в твою расслабленную ладошку, нагнулся бы к твоему ушку, и ласково шепнул: "швайне"
            Ответить
            • Как бы твои посты вычленить в отдельный текстовичок, чтобы получить генератор ориджинал-гомофантазий 😀
              Ответить
                  • Признал, не переживай. Еще когда ты угрожать минусованием начал.
                    Кстати думаю сёма пикировал в дно - деградировал даже ниже чем ты.
                    На его фоне ты кажешься здравомыслящим интеллектуалом.
                    Ответить
                      • А тут уж хуй знает. Вот у шизофреников бывает раздвоение личности, они тогда даже на два разных имени откликаются.
                        Дохтур Стретор и мистер ВайпСёма.
                        Ответить
                      • Хуилка, я предлагаю тебе отличную команду: ты минусуешь посты, я топлю треды. По рукам?
                        Ответить
                        • Страйкер предал Вас. Порядочные юзера давно ушли, когда поняли, что сайт загнивает. Остались одни жополизы. Что сказал максим горький (педофил и анашист, кстати)? Хватит испускать газы, старое мудачье, пора позволить жить новому поколению. Мы развалим сайт, затем всё станет по-новому.
                          Ответить
                        • Сёма, чего молчишь, тебе сопидаром в концессию предлагают вступить.
                          Начальный взнос: твоя жомпа.
                          Ответить
                          • Вот и всё. Товарищи революционеры передрались в соседнем треде и забыли о том, что хотели развалить сайт...
                            Ответить
                              • Кстати, xyilka, а какой сайт сделал ты, какой юзерскрипт написал ты, какой код под mingw собрал ты? Ты только пиздеть в спину и можешь, шакал.
                                Ответить
                              • И как бы ты это делал? По 100 раз минусовал бы уже заминусованные треды?.. Это очень ресурсоёмко и тормозно... Заминусованные треды вообще нужно исключать из списка, чтобы зря время не тратить.
                                Ответить
                                  • Это совсем не тру. Для начала нужно опустить все топики из разделов. Сток нужно мониторить. Как только появится новый тред - заминусовать и опустить. Когда юзеры лишатся возможности нормально общаться, сайт быстро опустеет.
                                    Ответить
                                    • Гоатсе - это уже пройденный этап. Если ты почитаешь старые комменты, то поймёшь, что запостив гоатсе лет 5-6 назад ты бы вызвал реакцию, как если бы предложил советскому гражданину лет 35-40 отсосать, в трамвае, набитом людьми - а сейчас всем тупо посрать. Твои методы морально устарели.
                                      Ответить
                                      • >> а сейчас всем тупо посрать. Твои методы морально устарели.
                                        Га-га-га. Сразу виден специалист своего дела 😀
                                        Ответить
                                        • Если бы Вы вели себя лучше, я бы задержался у Вас, и троллил тонко. Когда у меня хорошее настроение, я способен делиться, поднимать его всем. Но не все ценили меня, переносили свою неприязнь в минусы, и я был вынужден гадать, что это: то ли оценка кода, то ли умственных способностей, то ли я что-то не то ляпнул. Это и было ханжеством.
                                          Ответить
                                        • По крайней мере, Стертор учится на своих ошибках. Это надо признать.
                                          Ответить
                                      • Производишь впечатление 12-летнего мальчишки,честное слово... За что ты меня минусуешь? В чем кайф?
                                        Плюсуя же свои комменты, ты словно говоришь этим: "я долбоёб".. Даже я не опускался до такой низости. Борманд со товарищи хоть и ханжа, но иной раз приятно, когда влепит плюс, словно по головке погладили... Жаль, тебе этого не понять.
                                        Ответить
                                          • Ну, хорошо. Юзать Волшебные Свитки запрещал ещё мой режим, а это было при царе Горохе. Если среди нас есть тайные Тупоконечники, пусть несут заслуженное наказание: побреем им мошонки без мыла.
                                            Ответить
                                            • К сожалению, эффект получился обратный. Свитки стали юзать ещё больше.
                                              Ответить
                                        • >Плюсуя же свои комменты, ты словно говоришь этим: "я долбоёб"... Даже я не опускался до такой низости.
                                          Да стретор, я уже говорил в прошлом треде про то что сёма пробил дно, и повторюсь, что это эпохальный момент когда он согнал тебя с пьедестала. Ты вроде как поумнел немного.

                                          А анонимб за эти годы постепенно деградировал с туповатого, нищебродного студента-питониста сначала до политически ангажированного дауна, а потом до совсем унылого вайпера.
                                          Ответить
                                  • > сток убит
                                    Для этого не надо в 10 раз больше флуда. Достаточно за несколько секунд вбросить по 1 комменту в 20 случайных тредов (не тех, которые были в стоке!). С 20 учётками ты это сделаешь почти мгновенно и без капч.
                                    Ответить
                                      • Security through obscurity не рулит.

                                        Да и от тупого флуда мне придётся расчехлять vps'ку, восстанавливать паука "бесконечного стока", писать фильтры и т.п. А если он сделает 20 постов в случайные треды за несколько секунд - паук не будет иметь смысла, т.к. будет постоянно болтаться в desync'е, и я с чистой совестью отдохну от ГК. Может быть даже страйко вернётся и что-то предпримет...
                                        Ответить
                                        • >>Может быть даже страйко вернётся и что-то предпримет.

                                          Выдаст нам по банхаммеру и пойдем мы карать всех направо и налево. Но это будет уже совсем другая история
                                          Ответить
                                          • > и пойдем мы карать всех направо и налево
                                            > всех
                                            Угу. И заработаем синдром вахтёра.
                                            Ответить
                                      • P.S. В общем, я не вижу смысла в заметании этой инфы под ковёр.
                                        Ответить
                          • Анально ограниченное сопидорство "тупой мудак" примет в свои ряди вайперов и не только. звони. 14-88-14-88
                            Ответить
                • Звучит как отрывок с заседания анонимных долбоёбов.
                  Привет! А я - 1024--, псевдонивный долбоёб.
                  Ответить
                  • Кстати, 1024--дар, а какой сайт сделал ты, какой юзерскрипт написал ты, какой код под mingw собрал ты? Ты только пиздеть в спину и можешь, шакал.
                    Ответить
                    • Баяниссимо, Баурмонд!.. (из полупустого зала слышны жалкие аплодисменты)
                      Ответить
                      • Кстати, guest, а какой сайт сделал ты, какой юзерскрипт написал ты, какой код под mingw собрал ты? Ты только пиздеть в спину и можешь, шакал.
                        Ответить
                        • >а какой сайт сделал ты, какой юзерскрипт написал ты, какой код под mingw собрал ты?
                          Всё тебе расскажи
                          Ответить
                    • Бля, сколько ей уже вайпают, а мне эта паста доставляет всё больше и больше.
                      Ответить
                      • Да у стертора и сёмы половину постов можно на цитаты разодрать... А из гомосексуальных фантазий guest'а можно собрать книгу и продавать каким-нибудь яойщицам.

                        show must go on
                        Ответить
                        • >А из гомосексуальных фантазий guest'а можно собрать книгу и продавать.
                          Ага 🙂 и што самое ценное - он же ориджинал сочиняет, а это редкость среди нынешнего поколения засиральщиков.
                          Ответить
                        • Господи, какой же ты зануда... Ой-ой-ой. Сначала я думал, что ты - Конардо, но потом сразу разочаровался... Конардо был гламурным троллем, хоть и не очень тонким, но вполне годным. Его посты вселяли в меня надежду.
                          Ответить
                      • Держу пари, что у тов. Семена бот берет куку, и давит по ней минус... Не надо оваций. Парсер ников сложно было накомпелять?.. Ты лупишь по всем комментам, в т.ч. по своим...
                        Ответить
                    • типичный высер стертора, к бабке не ходи
                      Ответить
                  • Привет! А я - Кегдан, седативный долбоёб. И мне все похер
                    Ответить
        • >что он столько времени уделяет говнокоду, подозреваю, что мусорка в принципе его единственный источник дохода
          Он где-то обмолвился что, если чё «легко найдёт работу».
          Так что видимо так оно и есть :))
          Ответить
            • По уровню интеллекта это очевидно, я даже называл его по первой «школьник-питонист»
              Но если он уже универ закончил, ты ж видел его бесконечные пригорания жопы про «рашкинское образование», тут всё ГОРАЗДО печальнее.
              Прикинь, чел уже за 20 только и делает что сидит на АиБ, лазит по свалкам и методично борется с путеным и «ватниками» на говнокоде, LOL!
              Ответить
              • и при этом не приобрел профессиональных навыков кроме написания спамеров

                а возможно и редактирования чужих
                Ответить
              • > чел уже за 20 только и делает что сидит
                Я боюсь что Сёма уже почти к тридцаку, а то и за. А он так нихуя и не научился делать
                Ответить
                • Тебе так свербит от семы что ты начал искать коменты 4 летней давности? Жалкий, get a life!
                  Ответить
        • Вы про высеры xyilka, patah, и других долбоёбов, и вы думали что это Сёма?
          Извиниться перед ним не хочешь?
          Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8