Обновить
3

Уверенный пользователь холодильника

1
Подписчики
Отправить сообщение
А ответ на все один «простите извините, мы случайно»

Да, именно. "Пообещали больше не попадаться".

Настоящих папок только пять (или шесть, как посмотреть): /core/service/handler/rule/condition

Ну да, главная помеха переноса ios приложения под windows это же реализация настроек.

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


Приложение написанное на swift\objc никогда не будет перенесено под windows, только если написать отдельное приложение с нуля.

Ну извините, я как-то не знал, что это вообще невозможно написать транслятор со swift на другие платформы. Я-то кросс-платформенные приложения разрабатываю, поэтому в моём мире никогда нельзя делать такие категоричные заявления. У вас видимо пока можно, но на каком основании вы только ваш участок называете адекватным?


А если человек не видит различия между static и const, то кто он?

Никакое глобально видимое состояние не должно быть открыто к изменениям, следовательно всё что static должно быть и const — мы же не хотим усложнять архитектуру, вводя кучу мьютексов и семафоров? Расследование гонки — это вам не две сущности вместо одной.


Адекватные люди пишут тесты там где написание тестов дешевле отлова ошибок, появляющихся без тестов

Адекватные люди знают, что один запуск CI-сервера с тестами всегда будет дешевле, чем гонять толпу индусов и тестировать всё руками. А если тестировать на пользователях, это вообще дорога в никуда, и легко делает пустое место даже из монополистов. Вы никогда не заметите, что автотесты стали дешевле тестирования на пользователях, пока не будет уже слишком поздно.


только для того чтобы тестировать бизнес-логику

Это вот серьёзно сейчас было? Только бизнес-логику и имеет смысл тестировать — остальное тестируется параллельно с бизнес-логикой. Впрочем, я уже вижу, что изначальное моё предположение было верным — вы адекватный разработчик, и просто сразу пишете всё без багов.


порождает ошибки связанные с этими конкретными реализациями, которые тестами не поймаешь вообще.

Сильное утверждение. Докажите.


Так как основной источник ошибок в мобильных приложениях это системный код UI

Ещё одно сильное утверждение. С вас ещё одно доказательство.


а КАК и главное ЗАЧЕМ они делаются вы не понимаете.

Так просветите. А то ведь я даже не сказал, зачем и как, но вы уже решили, будто я не понимаю. Не иначе, это работает ваша интуиция адекватного разработчика.

"Ненастоящие шотландцы", значит.


официальный BLM как движение никаким образом не «нравится расизм»

Неправда. Организации официально нравится racial affirmative action, что уже расизм — а ведь официальная позиция любой организации будет такая, что не подкопаться — но не в этом случае, так как сама центральная идея основана на расовой неравноценности. А уж неофициально там вплоть до "это поле только для чернокожих! BLM!", это и многое другое можно увидеть не особо напрягаясь например в захваченных кварталах Сиэттла.

реализации настроек и подмены этих вещей в рантайме — так вообще нулевая

И тесты нормальные разработчики конечно же не пишут? А то так-то подмена настроек в рантайме это задача каждого теста.


Поэтому сделает хранилище синглтоном

Нет никакой проблемы сделать хранилище синглетоном, и при этом весь по-прежнему иметь интерфейс Storage отдельно от SqlLiteStorage.


а настройки вообще статиками.

Если настройки не меняются — это константы, а не настройки.


Что будет если реализацию хранилища всетаки придется сменить? Ну потратить немного времени чтобы переписать внутрянку класса Storage

При этом нормальный разработчик выкинет реализацию SqlLiteStorage — а это сделает приложение неработоспособным на системах, где живёт SQLite. Особенно это видно на другом вашем примере — если Settings нет, а есть только IOSPrefsSettings — у вас нет и не может быть версии под Windows. А когда вы сделаете версию под Windows — у вас пропадёт версия под IOS, ведь прежнюю реализацию вы только что выкинули. А ещё у вас нет и никогда не будет версии Settings, которую можно настроить в ходе тестов, потому что чтобы такая версия появилась, вам придётся выкинуть версии для Windows и IOS. Но, видимо, компетентные проектировщики всегда пишут без багов, и ничего не нужно тестировать.

Было два состояния — нравится расизм или не нравится. Быть последователем — это третье состояние, наследующее от не_нравится.

Но ведь большинству последователей BLM нравится расизм. Как быть с ними? Они какое-то своё состояние, или просто попадают в "нравится расизм"?

А фигли, столько трудов потратили за последние десятки лет, чтоб откатить в стороны полной свободы капиталлов и демократии доллара (где 1 доллар = 1 голос).

Я вообще ничего не понял.

Попробую угадать, о чем это было: в старые добрые времена партия демократов действительно куда больше уделяла внимания проблемам конкретных граждан или хотя бы малого бизнеса, так как куда меньше республиканцев брала денег от лоббистов. Лавочку прикрыли, кажется, во времена Клинтона — тогда демократы уподобились республиканцам, и начали тоже продвигать интересы лобби большого бизнеса. В результате получилось, что на мнение проблемы обычных американцев (включая как жителей гетто, так и средний класс) стало всем наплевать. Люди не дураки, и что их не слушают — заметили. Создался политический вакуум, который постепенно заполнили радикальные идеи, и… дальше вроде мы все знаем.

К слову, подобные вертушки на местах корпорации добра устраивают для чиновников всего мира (включая США), а не только для российских. Просто у чиновников из США рычагов больше. Вот даже статья пролетала, что Трамп очень хочет разобраться, кто же из них на самом деле платформа.

Приведите конкретный небольшой пример — какие именно ошибки поощряет Clean Architecture?

Давайте чуть с другой стороны посмотрим. Вот вы сидите и пишете код.
Далее есть несколько "вкусов":


  1. Компьютер принимает программу перфокартах. Когда вы допишете, то набьёте перфорацию на страницы, отнесёте в машинный зал, сдадите администратору и пойдёте пить чай и ждать ответа. В итоге если были проблемы в исходном коде, словите ошибку в рантайме. О чём вам сообщит администратор, когда будет выдавать распечатку с результатами.
  2. Вы пишете код на компилируемом языке, но у вас нет IDE. Когда вы допишете, вы запустите компиляцию, и компилятор в ответ ругнётся первой найденной ошибкой (не всеми сразу, а только первой). Так вы будете править по одной ошибке в коде и перезапускать компиляцию пока не исправите все ошибки. После чего запустите тесты, которые проверят логику кода.
  3. Вы пишете на компилируемом языке в IDE. Компилятор языка висит в демоне неподалёку, периодически запускается и проверяет код в фоновом режиме. В результате вам сразу видно, что ошибок, по крайней мере компиляции, в коде нет. Фидбек получаете прямо в процессе написания.

Вот тут в статье я вижу зачатки перехода от "вкуса" №1 к чему-то среднему между вторым и третьим, сокращается время между вашим действием и получением фидбека. Да, на то чтобы демон-компилятор давал вам конструктивную обратную связь тоже тратятся ресурсы, но согласны вы вернуться к перфокартам чтобы их сэкономить?

Ютьюб при том, что вверху картинки есть плашка "✓ Проверено — YouTube certificated". Уже сам факт наличия такой плашки должен приводить к бану рекламы за нарушение каких-нибудь правил.

Когда скатимся — полетим. Но это не точно.

А если согласие не подписано, то… что?

Фасад не сводит множество сущностей в одну, он меняет/ограничивает API 1..n сущностей. Сведение — это только частный случай, и далеко не самый распространённый. Я намного чаще применяю этот шаблон для того, чтобы из M методов API, все из которых нужны моему модулю для внутренней кухни, выделить подмножество M1<M методов, которые я стабилизировал и теперь могу отдать наружу клиентам моего метода, потому что для M1 я предоставляю гарантии, обратную совместимость, предупреждаю об их грядущих изменениях за несколько релизов, и прочие полезные плюшки, тогда как оставшиеся M2 остаются в моём полном распоряжении, и с М2 я творю что мне угодно. То есть если клиент зависит от М1, ему гарантируется работоспособность как минимум на два мажорных релиза вперёд, а вот если от М2 — ССЗБ, могу сломать ему теплицу.

Есть даже конспирологические теории, что это правительство США так делает из населения ополчение на случай грядущей войны с Китаем. Потому что сейчас огнестрельное оружие расходится почти как горячие пирожки.

И, что весьма характерно, полного смысла оригинального понятия не передаёт ни одно из семи предложенных.

А "gay", напротив, означает "лёгкий, беззаботный".

Целью очевидно было дать возможность зайти на сервер и полным нулям, которые даже слов таких — "ID сервера" — не знают. А всё остальное суть типичный подход к современной разработке и "большинству пользователей это не нужно", от которого страдают обычно продвинутые пользователи.
Вот и тут — там совершенно точно есть какой-нибудь ID или URI сервера, но возможно нужно ещё и туннель VPN поднять. Объяснили бы они как это делать, то можно было взять условный ATLauncher и работало бы где угодно (потому что например сервер зашивается в Minecraft через параметр командной строки), но админ сделал под среднего пользователя, и в его глазах большинство пользователей сидят под windows и virtualbox для них звучит как сорт мыла.

А, у них какой-то свой уникальный лончер ещё там (не разобрался), а не просто официальный Minecraft Launcher от Microsoft. Тогда умываю руки, тут только копать глубже, так как проблемой может быть любое звено инструкции, и первое что нужно сделать — это понять, зачем вообще нужна эта скачиваемая программа.

Официальный лончер Minecraft действительно под Windows — но кто мешает взять любой неофициальный? Большинство из них работает на чем угодно, лишь бы там была Java.

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность