iOS Makes Me Hate
4.07K subscribers
1.29K photos
186 videos
24 files
1.43K links
Авторский канал про iOS разработку. Путь продуктовых самураев в MAANG.

Самое больше iOS сообщество практиков: https://boosty.to/lionbond/

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
Forwarded from Кодируем
Как написать чистый код?

⭐️ Угадываем, что хотел ввести юзер. Немного говорим про low coupling & high cohesion.

Лайкай не глядя! Сегодня разберем, какая все же последовательность действий и ход мышления должен быть, чтобы получалось писать чистый и читаемый код даже там, где есть алгоритмы. Какие есть способы? Как начать разрабатывать и писать код? Как приступить? Декомпозируем задачу на каждом уровне абстракции, спускаемся ниже и ниже и решаем проблемы по мере поступления.

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

🚀 Мы сделаем максимально легковесно без фреймворков и баз данных и полнотекстовых поисковых систем. Просто возьмем и добавим маленькую и полезную фичу.

🚀 Также сделаем так, чтобы наш код был максимально понятный и читаемый. Чтобы мы могли понять все структуру программы, прочитав пару первых функций на самом высоком уровне.

🚀 Нарисуем все основные части нашей программы.

Ньюансы (чтобы экономить время):
❗️Я не стал покрывать все типами, но это обязательно нужно делать
❗️Я не стал покрывать тестами, но это очень сильно помогает для понимания кода, его надежности и поддержки

Соберем вместе фреймворк по чистому коду? Как использовать паттерны, принципы. В чем плюсы и минусы. Сложно или нет это делать? Какие принципы знаете уже или хотите услышать? Чтобы "берешь и используешь" его. Чтобы не спорить "А вот смотри наглядно - это не вкусовщина, а у тебя переплетается логика или потекли абстракции - это плохо и тд". Если будут мысли - пишите. Это было бы очень круто. И это совсем иное, нежели бестолковые часто style guides и code reviews

Video:
https://www.youtube.com/watch?v=GsGyrrSC8Rw

Links:
https://en.wikipedia.org/wiki/Levenshtein_distance

#Algorithms #Clean_Code
Please open Telegram to view this post
VIEW IN TELEGRAM