- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
if ((posX / 2) != Math.round(posX / 2)) {
if (fieldsArray[posX-1])
if(fieldsArray[posX-1][posY])
if ((fieldsArray[posX-1][posY]['data']['status'] == 0) && (fieldsArray[posX-1][posY]['data']['type'] == 0))
if (fieldsArray[posX-2])
if (fieldsArray[posX-2][posY])
if ((fieldsArray[posX-2][posY]['data']['status']== 0) && (fieldsArray[posX-2][posY]['data']['type'] == 0))
if (fieldsArray[posX-1])
if (fieldsArray[posX-1][posY+1])
if ((fieldsArray[posX-1][posY+1]['data']['status'] == 0) && (fieldsArray[posX-1][posY+1]['data']['type'] == 0))
return true;
return false;
} else {
if (fieldsArray[posX-1])
if(fieldsArray[posX-1][posY-1])
if ((fieldsArray[posX-1][posY-1]['data']['status'] == 0) && (fieldsArray[posX-1][posY-1]['data']['type'] == 0))
if (fieldsArray[posX-2])
if (fieldsArray[posX-2][posY])
if ((fieldsArray[posX-2][posY]['data']['status'] == 0) && (fieldsArray[posX-2][posY]['data']['type'] == 0))
if (fieldsArray[posX-1])
if (fieldsArray[posX-1][posY])
if ((fieldsArray[posX-1][posY]['data']['status'] == 0) && (fieldsArray[posX-1][posY]['data']['type'] == 0))
return true;
return false;
}
Очередная фермоигра.
Попросили помочь понять, что не так с объектами отличного от 1х1 размера.
Форматирование сохранено.
Обожаю...
И ему начальство поручило мне рассказать, как приложение устроено. Он типа ответственный за все. Последную неделю он создавал документ описывающий положение трех прямоугольников в каком-то контроле. Логика происходящего один-в-один этот код.
семи перпендикулярных прямых
Мало того. Та задача решаема и в трёхмерном простанстве.
На поверхности тора, шара, седла или даже зайчика, как того требовал заказчик.
— Так вот, — говорит Морковьева. — Нам нужно нарисовать семь красных линий. Все они должны быть строго перпендикулярны, и кроме того, некоторые нужно нарисовать зеленым цветом, а еще некоторые — прозрачным. Как вы считаете, это реально?
Да. Я когда его смотрел даже как-то не особо смеялся, ибо успел повидать и более упоротых.
Как по мне задача поставлена вполне адекватно и успешно решаема на практике.
Можно нарисовать линии зеленым цветом и прозрачным как того требует заказчик.
Однако при освещении специальным светом, например в ультрафиолете они будут светиться красным.
То есть нарисованны они будут зеленым и прозрачным люминофором, а излучать будут красный.
Кстати, у Вас говнотифай случайно по ночам не работает и странички не сохраняет? Если так, то, выложив архив с ночными обновлениями странички /comments, Вы уже поможете.
А я пойду спать.
Пока выходит вот так:
https://github.com/1024--/govnokod.ru-userscripts/blob/master/infinite_stok.user.js
По нажатию на зелень загружается бесконечный сток (сейчас для демонстрации берется просто кусочек JSON :) ), обрезается до нужного комментария и добавляется в сток ГК. В итоге в теории совмещается актуальность стока ГК и бесконечность Вашего стока.
Добавил поле reply_id. У старых постов может быть null, т.к. я парсю только сток.
> кроссдоменные запросы
Done.
Только что заметил, что страница /gkapi/latest отличается, если её по-разному загружать. Увеличиваю сток, а там комментарий в <div class="entry-comment">. Открываю в браузере - нормальный текст. Смотрю в юзерскрипт, а там ничего плохого. Обновляю страничку в браузере - нет там HTML. Думал, с ума уже схожу по-тихоньку :)
Ну мой сток неактуален всего на 60 секунд в простое и секунд на 5-10 во время разговоров :3
внимание, теперь вопрос: как эту хуету ситуацию оценивать и как вообще быть?
Не, ну правда, отзовитесь.
Можно нарисовать график насыщения, рассказать про закон убывающей доходности. Показать, что параметр который максимизировал предыдущий программист либо уже приблизился, либо перешел точку насыщения, и теперь, исходя из закона убывающей доходности поддержка такого кода не адекватна по отношению затрат к отдаче. Объяснить с тех же позиций почему написание такого кода было выгодным. Предложить пути решения, в зависимости от специфики проекта: можно писать по-новой, и тогда правило, которое делало написание изначального продукта прибыльным снова заработает, а можно приложить больше усилий к модификации существующего кода, особенно если функция от усилий имеет гипер-линейных характер (на графике будет здорово смотреться).
Отдельно подчеркнуть, что исходя из тех же позиций, универсальных решений не бывает.
Да Тарас постоянно с таких стебётся.
> даже не наследованы
Наследование себя не оправдало и нынче непопулярно, тупые методы-обертки считаются кошерными.
>сущности имеют интерфейс и реализацию, и они все инжектятся по DI и слушают события друг друга, конфигятся аннотациями
"Паттерны по сути весьма забавная штука: они позволяют заменить 20 строк копипасты 40 строками разного кода"
(с) roman-kashitsyn
Если автор проекта ещё не уволился, надо срочно вправлять ему мозг и вводить код-ревью, дабы пресекать. Иначе он будет писать треш быстрее, чем ты будешь его исправлять.
Если автор уже уволился, то тебе нужно либо поступить аналогично, либо постепенно приводить наследие к удобному тебе и понятному остальным виду.