Пятница, 29 Ноября 2024, 10:52

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Чи быдлокод, чи не быдлокод...
GudleifrДата: Понедельник, 13 Февраля 2017, 14:25 | Сообщение # 1
почти ветеран
Сейчас нет на сайте
Код
int i =0;
foreach(Rigidbody r in bones){
    start_bones_pos[i] = r.position;
    start_bones_quat[i] = r.rotation;
    i+=1;
}

Наверное, любой вырванный из контекста кусок кода можно критиковать до морковкиного заговенья. Почему не проверяется переполнение массива? Зачем копировать данные, если можно назначить стартовым целиком объект? Почему не используются копирующие конструкторы/макросы?
Конечно, есть 100% неправильности кода - оставленные программистами хвосты, бесполезный код, потенциально опасный код, явные нарушения ТЗ, но даже они могут быть объяснены включением в более общую, универсальную, наглядную, безопасную, декорирующую конструкцию.
С какой позиции судить? Ни с какой. Программирование - лишь создание кибернетической машины, движущейся к правильному решению вследствие увеличения энтропии. Движется ли она правильно или нет - десятое.

Ранее приводил пример:
Цитата Gudleifr ()
Приходит к Вам наниматься три программиста и Вы даете им тестовую задачу - написать программу сортировки.
Первый долго рассуждает о том, следует ли тут применить сортировку вычерпыванием и как прикинуть медиану для быстросорт. И не факт, что дело дойдет до писания.
Второй сразу садится писать и через пять минут выдает на-гора сортировку пузырьком.
Третий заявляет, что ничего писать особо и не надо, ведь есть же qsort().


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


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
berilДата: Понедельник, 13 Февраля 2017, 14:46 | Сообщение # 2
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Здесь потенциально может быть Array index is out of range :D



Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
GudleifrДата: Понедельник, 13 Февраля 2017, 14:52 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
Цитата beril ()
может быть
а может и не быть...


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
last2424Дата: Понедельник, 13 Февраля 2017, 17:29 | Сообщение # 4
30 мл. блоков
Сейчас нет на сайте
Gudleifr, смотря какая задача. Он просто пролистывает массивы с костями и устанавливает им позицию и поворот, а потом просто увеличивает i и по новой, пока не дойдёт до конца. beril, не может.

Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)
GudleifrДата: Понедельник, 13 Февраля 2017, 17:35 | Сообщение # 5
почти ветеран
Сейчас нет на сайте
Цитата last2424 ()
смотря какая задача
Именно. Но большинство быдлокодеров даже не столько не умеют "смотреть на задачу", сколько любят отстаивать свою "точку зрения на все задачи мира разом".


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
FlyOfFlyДата: Понедельник, 13 Февраля 2017, 17:42 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Цитата Gudleifr ()
Именно. Но большинство быдлокодеров даже не столько не умеют "смотреть на задачу", сколько любят отстаивать свою "точку зрения на все задачи мира разом"

А это уже попахивает бредом

Добавлено (13 февраля 2017, 17:42)
---------------------------------------------

Цитата last2424 ()
Gudleifr, смотря какая задача. Он просто пролистывает массивы с костями и устанавливает им позицию и поворот, а потом просто увеличивает i и по новой, пока не дойдёт до конца. beril, не может.

Может, если start_bones_pos, по какой то магической причине - меньше bones
GudleifrДата: Понедельник, 13 Февраля 2017, 17:51 | Сообщение # 7
почти ветеран
Сейчас нет на сайте
Чисто для примера: Переполнение массива в примере выше может:
1. Быть временной заглушкой программиста, которую уберут сегодня вечером или на которую вообще не передается управление (ошибка I рода).
2. Быть охвачено обработчиком исключения переполнения, расширяющим контейнер (ошибка II рода).
3. Возникать только в особо неблагоприятных условиях (ошибка III рода).
4. Прямо противоречить смыслу программы (ошибка IV рода).
5. Быть охвачено обработчиком исключения переполнения, сигнализирующим об ошибке (быдлокод).
6. Быть охвачено фрагментом, гарантирующим его невозможность (хороший код).
Причем, любой из вариантов может быть охвачен еще одним блоком, который поставит все с ног на голову.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.

Сообщение отредактировал Gudleifr - Понедельник, 13 Февраля 2017, 18:02
WiteДата: Понедельник, 13 Февраля 2017, 17:57 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Вы вообще то кое что забыли в этом коде /* код /*
last2424Дата: Понедельник, 13 Февраля 2017, 17:58 | Сообщение # 9
30 мл. блоков
Сейчас нет на сайте
Цитата Gudleifr ()
сколько любят отстаивать свою "точку зрения на все задачи мира разом".
Я ничего не отстаиваю, я только дал свою точку зрения, это разные вещи.


Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)
GudleifrДата: Понедельник, 13 Февраля 2017, 18:00 | Сообщение # 10
почти ветеран
Сейчас нет на сайте
Цитата FlyOfFly ()
я просто сказал насчет "Один ответ на все вопросы". что это бред
Однако, в программировании мы встречаем этот подход постоянно. Число "программистов", считающих, что выученных ими парадигм достаточно для решения любой задачи - астрономическое.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
JackNazaryanДата: Понедельник, 13 Февраля 2017, 18:13 | Сообщение # 11
старожил
Сейчас нет на сайте
Цитата Gudleifr ()
Однако, в программировании мы встречаем этот подход постоянно. Число "программистов", считающих, что выученных ими парадигм достаточно для решения любой задачи - астрономическое.

Вот именно. Как показала практика, в большинстве популярных языков и жизни не хватит, дабы изучить прямо всё-всё, на что способен язык. И то это лишь речь идёт про язык, что уж говорить про вещи, которые касаются именно программиста и не зависят от языка.
WiteДата: Понедельник, 13 Февраля 2017, 18:19 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Хотел сначала поспорить и отстоять свой "быдлокод". Потом подумал что не хочу опускатся до вашего уровня. Лучше пойду напишу еще несколько сотен "быдлокода" и заработаю несколько сотен $$$.
Потерялось все желание сотрудничать в дальнейшем с фалько.
FlyOfFlyДата: Понедельник, 13 Февраля 2017, 18:20 | Сообщение # 13
заслуженный участник
Сейчас нет на сайте
Цитата Wite ()
Хотел сначала поспорить и отстоять свой "быдлокод". Потом подумал что не хочу опускатся до вашего уровня. Лучше пойду напишу еще несколько сотен "быдлокода" и заработаю несколько сотен $$$.
Потерялось все желание сотрудничать в дальнейшем с фалько.

тут я пожалуй на твоей стороне. фалко не должен был раскрывать коды


Сообщение отредактировал FlyOfFly - Понедельник, 13 Февраля 2017, 18:21
GudleifrДата: Понедельник, 13 Февраля 2017, 18:26 | Сообщение # 14
почти ветеран
Сейчас нет на сайте
Цитата Wite ()
Хотел сначала поспорить и отстоять свой "быдлокод".
А вот это - ошибка. Отстаивать свой код программист должен сам, без наездов критиков. Это важнейшая составляющая работы.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
WiteДата: Понедельник, 13 Февраля 2017, 18:34 | Сообщение # 15
постоянный участник
Сейчас нет на сайте
Мне не нужно отстаивать свой код. Так как я не суперпупер кодер. Повторюсь я сам себе начальник, пишу как хочу. Игра с этим "быдлокодом" зарабатывает на google play хорошие деньги. Что тут еще нужно доказывать. Вы можете написать идеальный код, но нужен он кому нибудь кроме вас?
GudleifrДата: Понедельник, 13 Февраля 2017, 18:56 | Сообщение # 16
почти ветеран
Сейчас нет на сайте
Цитата Wite ()
Мне не нужно отстаивать свой код.
Нужно-нужно. Тут два нюанса. Первый: для простого кода отстаивание элементарно (и пусть пользователь вешается!). Второе: разбираться в том что пишешь - интереснее, чем писать одно и тоже снова и снова.
Цитата Wite ()
Вы можете написать идеальный код, но нужен он кому нибудь кроме вас?
Идеального кода не бывает (об этом и тема).


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
URGINSANДата: Понедельник, 13 Февраля 2017, 19:00 | Сообщение # 17
почти ветеран
Сейчас нет на сайте
Wite, идеализировать код нужно для того, чтобы:
A. Программа работала быстрее, чем с неидеальным кодом.
B. Чтобы код программы был быстро понят коллегами по разработке.
C. Чтобы самому не запутаться при разработке крупного проекта.
D. Для удобной навигации по скриптам, классам итд

Уверен, можно еще написать пару-тройку пунктов.
Это со временем приходит. Постепенно начинаешь минимализировать код.


Я на драйве
GudleifrДата: Понедельник, 13 Февраля 2017, 19:05 | Сообщение # 18
почти ветеран
Сейчас нет на сайте
URGINSAN, это тоже все относительно.

Добавлено (13 февраля 2017, 19:05)
---------------------------------------------
Наблюдая за Форумом, я нахожу лишь одну очевидную "идеальность": код настолько идеален, что его не надо продавать, а можно играть самому.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.

Сообщение отредактировал Gudleifr - Понедельник, 13 Февраля 2017, 19:06
WiteДата: Понедельник, 13 Февраля 2017, 19:08 | Сообщение # 19
постоянный участник
Сейчас нет на сайте
URGINSAN, я работаю один.
URGINSANДата: Понедельник, 13 Февраля 2017, 19:18 | Сообщение # 20
почти ветеран
Сейчас нет на сайте
Wite, надо смотреть в будущее. Однажды ты можешь найти работу в офисе (да и на фрилансе так бывает), где тебе придется уважать чужие нервы и глаза.

Я на драйве
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг