Pull to refresh
0
0
Send message

Кто мешает строить многоуровневую архитектуру из микросервисов?

С принципом подстановки - не очень удачный пример, кмк.

Мы вполне можем не выполнять какую-то операцию. Можем же мы выдать исключение, если будет указана неправильная сумма или неправильный счет получателя. Вот если мы явно запретим исключения в предке.

Принцип вообще не про разных потомков, а про предка и потомка. Он нарушается, если мы в операции потомка делаем что-то отличающееся от операции предка.

Классический пример - наследрование квадрата от прямоугольника, когда в квадрате установка длины меняет и ширину (и наоборот). Тесты предка не будут выполняться для потомка.

Это, если мы делаем ОДИН сервис.

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

Где же тут "каким образом"? Мы можем использовать регулярные выраженя, можем написать конечный автомат, можем просто искать подстроки и потом обрабатывать результат - вариантов масса.

«Поиск адресов региональных подразделений» ... легко выносится в имя переменной/функции.

"Поиск адресов отделов рекламаций закрытых региональных подразделений в старом формате" - легко выносится?

И, кстати, не всегда можно выделить переменную/функцию. Переменных может быть несколько. Код может использовать/изменять много переменных из окружения, которые при выделении функции придется передавать через параметры. То есть, выделить, конечно, можно, но написать комментарий может быть эффективнее.

"Зачем" - в смысле "для чего". Например, "Ищем минимум". Код, как раз, отвечает на вопрос "как".

Разве имя функции...

Хорошо, когда случай такой простой. А если посложнее: "ищем почтовые адреса в нашем домене, начинающиеся с цифры или подчеркивания"?

По поводу понятности имен - см. мой первый комментарий.

Не совсем. Из кода можно понять "что делается". Зачем - не всегда.

Кроме того, вопрос уровня восприятия. Если на понимание, что делает код надо потратить 15 минут, а на чтение комментария - 5 секунд, то его явно стоит написать. Как пример - те же регулярные выражения.

Смысл того, что здесь будет сделано.

Комментарий – признак неудачи.
У вас не получилось написать код так, чтобы его можно было понять без комментариев.

Проблема в том, что комментарии обычно пишет автор кода. Ему код понятен - он же его написал. Точнее, в данный момент понятен.

А будет ли он понятен другим? Или ему же через пару лет?

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

Не совсем. Это решение может состоять в строгой валидации. А проблема именно в типизации Питона.

Реальный случай: клиент в JSON вместо списка строк передал строку. И код работал, итерируясь по символам строки.

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

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

Во-вторых, работа всю жизнь на одном месте не была чем-то уникальным для СССР. Тогда такое везде было нормой. Дело в тм, что опыт играл существенно бОльшую роль в работе, чем сейчас. Поэтому и ценились старые сторудники.

Работа превращалась в рутину, о мотивации и развитии речи впринципе не шло...

Засисело от человека. Даже на рабочих специальностях можно было что-то новое освоить. Новый станок, оснастку, предложить какую-то рационализацию. С другой стороны и сейчас далеко не у всех творческая работа. Взять, например, охранника в ТЦ.

... зарплата часто не подразумевала создания накоплений. Самое обидное именно последнее: вот человек пошел работать на завод, государство ему выдало квартиру и путевку в Крым раз в год, он проработал там 30, даже 40 лет, а к пенсии имеет все ту же квартиру, хорошо если смог накопить на машину ...

Обидно было тем, кто работал исключительно за деньги. Тем, кто не любил свою работу. Они даже анекдот придумали про то, что сигарета сокращает жизнь на 15 минут, а рабочий день на 8 часов. Так таким, наверное, и сейчас обидно.

И такое в каждой строке.

Автор про СССР из Википедии узнал?

"Работа на себя" - отдельная тема.

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

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

Смотря что понимать под средним. Если среднее арифметическое, то 1, 100, 101, 102 - большинство больше среднего. :)

Также хочу отметить, что если число можно представить и как степень и как два множителя, то в преимуществе всегда степень какого-то числа (о как, в рифму).

Способ 3 функции Эйлера работает только для взаимно простых множителей.

Начинать учиться можно с чего угодно. А вот начинать работать - да, лучше с чего-то строгого.

Мнение пользователей мало кого интересует.

В мире свободного ПО - да. В мире платного - куда от этого деться. Как Микрософт ни ругай, но они что-то делают. Например, вернули (почти) нормальное меню.

Я думаю, Windows выиграла у *nix'ов именно благодаря своей монолитности: простому юзеру проще разобраться с одной программой, которая сразу сделает то, что ему нужно, чем выстравать взаимодействие нескольких. К тому же, в случае одной программы, он сразу знает, куда обратиться в случае проблем.

Сейчас Linux выигрывает благодаря своей бесплатности, чему в значительной степени способствует жадность Microsoft'а. Чем больше они закручивают гайки с лицензированием, тем больше пользователей от них уходит. А, когда уходят разработчики (которые тоже не особо хотят платить за Windows), уходят и корпорации. Впрочем, возможно, они одумаются.

А вся эта философия интересна только гикам. Сделал программку для себя, выложил и трава не расти. Не нравится - ищи другое. Или сам сделай. Зато, если кто-то пользуется, чувствуешь себя творцом. А нет - значит, не оценили.

Наверное, именно потому, что она была полезнее для описания мира.

Ваша версия?

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

Спасибо за понимание.

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

Я написал "инструмент для описания вселенной", а не "описание вселенной". Описанием занимаются естественные науки. А математика - инструмент для них.

Да, сейчас математику развивают не как инструмент, а как самоцель. Но создана то она была именно как инструмент.

Information

Rating
Does not participate
Registered
Activity