Чистим код: Функции
В прошлом посте разбирали основные принципы по именованию программных сущностей. А сегодня разберём как лучше писать функции, чтобы их можно было легко читать и понимать:
— Функция должна быть короткой (хотя есть и исключения). Сложно сказать о норме, но ориентироваться можно на значение не более 10-20 строк.
— Функция должна выполнять чётко одну операцию.
— Правило понижения: код должен читаться сверху вниз. Если в функции А вызывается функция Б, то Б должна следовать после А.
— Функция должна иметь как можно меньше аргументов, т. к. каждый аргумент — это контекст, про который должен знать разработчик. Если аргументов много и они связаны — следует упаковать аргументы в один объект.
— У функции не должно быть побочных эффектов — скрытых действий, о которых разработчик может не догадываться.
— Касательно комментариев к функциям от Роберта Мартина: "Комментарии должны компенсировать неудачу в выражении мыслей в коде. Комментарии — признак неудачи". Чистое именование функции и её реализация избавляет разработчика от необходимости написания для неё комментария. Конечно, есть и исключения: авторские права, TODO-листы, объяснения важности или предупреждения.
#чистимкод
В прошлом посте разбирали основные принципы по именованию программных сущностей. А сегодня разберём как лучше писать функции, чтобы их можно было легко читать и понимать:
— Функция должна быть короткой (хотя есть и исключения). Сложно сказать о норме, но ориентироваться можно на значение не более 10-20 строк.
— Функция должна выполнять чётко одну операцию.
— Правило понижения: код должен читаться сверху вниз. Если в функции А вызывается функция Б, то Б должна следовать после А.
— Функция должна иметь как можно меньше аргументов, т. к. каждый аргумент — это контекст, про который должен знать разработчик. Если аргументов много и они связаны — следует упаковать аргументы в один объект.
— У функции не должно быть побочных эффектов — скрытых действий, о которых разработчик может не догадываться.
— Касательно комментариев к функциям от Роберта Мартина: "Комментарии должны компенсировать неудачу в выражении мыслей в коде. Комментарии — признак неудачи". Чистое именование функции и её реализация избавляет разработчика от необходимости написания для неё комментария. Конечно, есть и исключения: авторские права, TODO-листы, объяснения важности или предупреждения.
#чистимкод
Какие разработчики игр зарабатывают в 2024
В прошлом году начинающий разработчик Лука выпустил Vampire Survivors. Этот простой проект всего за несколько недель обогатил его на десятки миллионов. А Among Us был небольшим экспериментом от трёх инди-разработчиков. Несмотря на провальный релиз, разработчики продолжили работу. Спустя время игру случайно заметили стримеры. В итоге разработчики заработали на ней 100 млн долларов. Такие истории вдохновляют, но одновременно и искажают представление об индустрии.
Держите статью, где Роман Сакутин, эксперт в сфере геймдева, рассказывает о том, как действительно обстоят дела в релизе игр, а в частности — в Steam. Там вы узнаете про основные причины того, почему игры не продаются, как найти аудиторию своей игры и как правильно выбирать идеи.
#gamedev
В прошлом году начинающий разработчик Лука выпустил Vampire Survivors. Этот простой проект всего за несколько недель обогатил его на десятки миллионов. А Among Us был небольшим экспериментом от трёх инди-разработчиков. Несмотря на провальный релиз, разработчики продолжили работу. Спустя время игру случайно заметили стримеры. В итоге разработчики заработали на ней 100 млн долларов. Такие истории вдохновляют, но одновременно и искажают представление об индустрии.
Держите статью, где Роман Сакутин, эксперт в сфере геймдева, рассказывает о том, как действительно обстоят дела в релизе игр, а в частности — в Steam. Там вы узнаете про основные причины того, почему игры не продаются, как найти аудиторию своей игры и как правильно выбирать идеи.
#gamedev
Tproger
Какие разработчики игр зарабатывают в 2024 году
IT-блогер Роман Сакутин выпустил ролик, в котором рассказал, какие разработчики игр зарабатывают больше остальных.
5 ошибок Python-разработчиков, которые выдают новичка
У начинающих специалистов может складываться впечатление, что рабочий код — готовый код. По мере роста скилов и опыта, становится понятно, что код рекомендуется писать не только рабочим, но и чистым. А также поддерживать в разработке определённые стандарты. Они относятся не только к коду, но и к тестам, ведению Git, да и просто к базовым знаниям технологий.
Собрали для вас самые распространенные ошибки в Python-разработке в этой статье. Особенно полезной будет тем, кто собирает портфолио для трудоустройства или хочет получить простые, но практичные советы.
#советы #python
У начинающих специалистов может складываться впечатление, что рабочий код — готовый код. По мере роста скилов и опыта, становится понятно, что код рекомендуется писать не только рабочим, но и чистым. А также поддерживать в разработке определённые стандарты. Они относятся не только к коду, но и к тестам, ведению Git, да и просто к базовым знаниям технологий.
Собрали для вас самые распространенные ошибки в Python-разработке в этой статье. Особенно полезной будет тем, кто собирает портфолио для трудоустройства или хочет получить простые, но практичные советы.
#советы #python
Углубимся в историю?
В какой последовательности появлялись следующие языки программирования?
#викторина
В какой последовательности появлялись следующие языки программирования?
#викторина
Какая последовательность правильная?
Anonymous Quiz
22%
Swift, TypeScript, Rust, Go
12%
TypeScript, Ruby, Dart, Elixir
11%
Rust, R, Scala, Groovy
55%
JavaScript, Go, Kotlin, Swift
Регулярные выражения для начинающих
Регулярные выражения — это инструмент, который позволяет определять, находить и заменять текст по определённому паттерну, состоящему из специальных символов. Простейший пример — нужно удостовериться, что эл. почта или моб. телефон в форме ввода действительно корректны, а не "фывфыв". Поддержка регулярных выражений есть в любом языке программирования.
Например, так выглядит регулярное выражение для телефонных номеров по типу 123-456-7890:
где
Шпаргалки по регулярным выражениям стали своего рода мемом, ведь из-за сложности синтаксиса к ним регулярно обращаются даже бывалые разработчики. Поэтому держите шпаргалку в картинке, а также ИИ-инструмент, который по текстовому запросу сгенерирует вам необходимую регулярку.
#regexp
Регулярные выражения — это инструмент, который позволяет определять, находить и заменять текст по определённому паттерну, состоящему из специальных символов. Простейший пример — нужно удостовериться, что эл. почта или моб. телефон в форме ввода действительно корректны, а не "фывфыв". Поддержка регулярных выражений есть в любом языке программирования.
Например, так выглядит регулярное выражение для телефонных номеров по типу 123-456-7890:
\d{3}-\d{3}-\d{4}
где
\d
— символ цифры, {3}
— количество повторений, -
необходимый разделитель.Шпаргалки по регулярным выражениям стали своего рода мемом, ведь из-за сложности синтаксиса к ним регулярно обращаются даже бывалые разработчики. Поэтому держите шпаргалку в картинке, а также ИИ-инструмент, который по текстовому запросу сгенерирует вам необходимую регулярку.
#regexp
Forwarded from Мобильная разработка
Old but gold: Android-разработка для новичков
Добротный материал с подборкой 20+ ресурсов для старта в карьере мобильного разработчика. Подборка хоть и 2023 года, но начинающим — самое то: https://habr.com/ru/companies/yandex_praktikum/articles/738638/
#android #начинающим
Добротный материал с подборкой 20+ ресурсов для старта в карьере мобильного разработчика. Подборка хоть и 2023 года, но начинающим — самое то: https://habr.com/ru/companies/yandex_praktikum/articles/738638/
#android #начинающим
Как выучить язык программирования быстрее
Чтобы стать хорошим программистом, необходимо проработать свой план обучения. Без него вы рискуете быстро потерять мотивацию изучать язык программирования.
В этом видео разработчик с 20-летним стажем даёт полезные советы, которые помогут пройти путь от «чайника» до уверенного разработчика.
Если очень кратко, то:
— Помните, что каждый следующий язык учить легче. Соответственно первый — самый сложный;
— Читайте чужой исходный код;
— Не стесняйтесь спрашивать на форумах (по типу Stack Overflow);
— Попробуйте начать обучения на платформе с геймификацией;
— Не давайте волю синдрому самозванца;
— Учите алгоритмы и структуры данных;
— Не торопите себя и дайте время, чтобы всё выучить;
— Используйте отладчик.
#general #советы
Чтобы стать хорошим программистом, необходимо проработать свой план обучения. Без него вы рискуете быстро потерять мотивацию изучать язык программирования.
В этом видео разработчик с 20-летним стажем даёт полезные советы, которые помогут пройти путь от «чайника» до уверенного разработчика.
Если очень кратко, то:
— Помните, что каждый следующий язык учить легче. Соответственно первый — самый сложный;
— Читайте чужой исходный код;
— Не стесняйтесь спрашивать на форумах (по типу Stack Overflow);
— Попробуйте начать обучения на платформе с геймификацией;
— Не давайте волю синдрому самозванца;
— Учите алгоритмы и структуры данных;
— Не торопите себя и дайте время, чтобы всё выучить;
— Используйте отладчик.
#general #советы
YouTube
Как выучить язык программирования быстрее
Несколько советов, помогающих ускорить изучение языка программирования
0:00 Начало
0:09 Практика
0:58 Каждый следующий язык учить легче, чем предыдущий
1:45 Читайте чужой исходный код
2:19 Читайте документацию от разработчиков
3:02 Не пренебрегайте русскоязычной…
0:00 Начало
0:09 Практика
0:58 Каждый следующий язык учить легче, чем предыдущий
1:45 Читайте чужой исходный код
2:19 Читайте документацию от разработчиков
3:02 Не пренебрегайте русскоязычной…
6 способов войти в ИТ без высшего образования и онлайн-курсов
Если курсы или высшее образование по каким-либо причинам не подходят вам, но развиваться в IT-сфере всё равно хочется, не беда — есть много других способов влиться в эту сферу. Вот парочка из вариантов, а в этой статье ещё больше и подробней:
— Роадмапы — готовые схемы со структурированными темами в нужной последовательности. Вот сайт-агрегатор таких карт обучения.
— Стажировки — есть компании, которые готовы брать совсем начинающих разработчиков, обучать их и трудоустроивать к себе.
— Геймификация обучения — есть игры, геймплей которых заточен на изучение азов программирования. Например CodinGame, CodeHero или CodeCombat.
#general
Если курсы или высшее образование по каким-либо причинам не подходят вам, но развиваться в IT-сфере всё равно хочется, не беда — есть много других способов влиться в эту сферу. Вот парочка из вариантов, а в этой статье ещё больше и подробней:
— Роадмапы — готовые схемы со структурированными темами в нужной последовательности. Вот сайт-агрегатор таких карт обучения.
— Стажировки — есть компании, которые готовы брать совсем начинающих разработчиков, обучать их и трудоустроивать к себе.
— Геймификация обучения — есть игры, геймплей которых заточен на изучение азов программирования. Например CodinGame, CodeHero или CodeCombat.
#general
Библиотека программиста
⛩️ 6 способов войти в ИТ без высшего образования и онлайн-курсов
В этой статье мы рассмотрим несколько необычных способов входа в сферу информационных технологий и то, какие преимущества они дают.
Обучение с подкреплением (RL) – это способ в машинном обучении, при котором компьютер учится принимать решения, действуя в окружающем мире и получая за это награду. Например, ИИ может учиться играть в компьютерные игры или управлять роботом, чтобы достичь победы или других целей.
Держите подборку курсов и книг, которые помогут с нуля развиться в этой теме:
Держите подборку курсов и книг, которые помогут с нуля развиться в этой теме:
Forwarded from Нейроканал
Курсы:
— Курс от Hugging Face: баланс теории и практики, вы познакомитесь с основными библиотеками, получите сертификат по окончанию и сможете пообщаться с другими участниками в Discord.
— Плейлист с подробными лекциями о базовых концепциях и популярных архитектурах обучения роботов.
— Курс на Coursera: даст понимание ключевых идей обучения с подкреплением. Вы сможете реализовать полноценное RL-решение и научитесь применять инструменты ИИ для решения реальных задач.
Книги:
— «Грокаем глубокое обучение с подкреплением» Моралес Мигель;
— «Обучение с подкреплением [2-е изд.]» Ричард С. Саттон, Эндрю Дж. Барто;
— «Алгоритмы принятия решений» Кохендерфер М., Уинлер Т., Рэй К.
Дайте знать, если хотите видеть больше подобных подборок!
#rl #deeplearning
— Курс от Hugging Face: баланс теории и практики, вы познакомитесь с основными библиотеками, получите сертификат по окончанию и сможете пообщаться с другими участниками в Discord.
— Плейлист с подробными лекциями о базовых концепциях и популярных архитектурах обучения роботов.
— Курс на Coursera: даст понимание ключевых идей обучения с подкреплением. Вы сможете реализовать полноценное RL-решение и научитесь применять инструменты ИИ для решения реальных задач.
Книги:
— «Грокаем глубокое обучение с подкреплением» Моралес Мигель;
— «Обучение с подкреплением [2-е изд.]» Ричард С. Саттон, Эндрю Дж. Барто;
— «Алгоритмы принятия решений» Кохендерфер М., Уинлер Т., Рэй К.
Дайте знать, если хотите видеть больше подобных подборок!
#rl #deeplearning
This media is not supported in your browser
VIEW IN TELEGRAM
Бинарный поиск — что за алгоритм
Про бинарный поиск вы могли слышать где угодно: форумы, статьи, задачи да и просто от какого-то ITшника. Давайте разберёмся.
Это алгоритм для поиска элемента в отсортированном массиве. Применяться может, например, для поиска по словарю, телефонному справочнику или базе данных. Принцип основан на деления пополам:
1. Берём центральный элемент массива и сравниваем его с искомым числом.
2. Если искомое число больше серединного элемента — значит нас интересует первая половина массива. Если меньше — вторая.
3. Повторяем п. 1 и п. 2 с выбранной половиной до тех пор, пока не дойдём до искомого элемента. Каждый раз отсеивается половина элементов.
Популярность алгоритма вызвана его большой скоростью выполнения. Последовательный поиск по массиву из 1000 элементов может занять в крайнем случае 1000 операций, а бинарным поиском — максимум 10. А массив из миллиона элементов — максимум за 20 операций.
На картинке разница простого и бинарного поиска.
#теория
Про бинарный поиск вы могли слышать где угодно: форумы, статьи, задачи да и просто от какого-то ITшника. Давайте разберёмся.
Это алгоритм для поиска элемента в отсортированном массиве. Применяться может, например, для поиска по словарю, телефонному справочнику или базе данных. Принцип основан на деления пополам:
1. Берём центральный элемент массива и сравниваем его с искомым числом.
2. Если искомое число больше серединного элемента — значит нас интересует первая половина массива. Если меньше — вторая.
3. Повторяем п. 1 и п. 2 с выбранной половиной до тех пор, пока не дойдём до искомого элемента. Каждый раз отсеивается половина элементов.
Популярность алгоритма вызвана его большой скоростью выполнения. Последовательный поиск по массиву из 1000 элементов может занять в крайнем случае 1000 операций, а бинарным поиском — максимум 10. А массив из миллиона элементов — максимум за 20 операций.
На картинке разница простого и бинарного поиска.
#теория
This media is not supported in your browser
VIEW IN TELEGRAM
*Когда попросили объяснить твой код, который написал ChatGPT*
Учить Git, да так, чтоб было ещё и интересно
Да, такое возможно. Один из вариантов — Learning Git — интерактивный тренажёр. В нём вы можете с нуля изучить Git и сразу же практиковаться с визуальной демонстрацией. Благодаря этому можно будет разобраться даже в самых трудных командах, ведь всё будет отображаться в схеме.
Тут также есть различные уровни сложности, поэтому проходить с полного нуля не обязательно.
#git
Да, такое возможно. Один из вариантов — Learning Git — интерактивный тренажёр. В нём вы можете с нуля изучить Git и сразу же практиковаться с визуальной демонстрацией. Благодаря этому можно будет разобраться даже в самых трудных командах, ведь всё будет отображаться в схеме.
Тут также есть различные уровни сложности, поэтому проходить с полного нуля не обязательно.
#git
Интерактивный курс по SQL
Держите ещё один ресурс для интерактивного обучения, на этот раз по SQL. В этом курсе большинство шагов — это практические задания на создание SQL-запросов. Каждый шаг включает теоретические аспекты по базам данных или языку SQL, примеры похожих запросов и пояснение к реализации. Поэтому это отличный вариант обучения для начинающих.
Также каждый учащийся может предложить свои задания по SQL. Лучшие из них публикуются в отдельном модуле.
#sql
Держите ещё один ресурс для интерактивного обучения, на этот раз по SQL. В этом курсе большинство шагов — это практические задания на создание SQL-запросов. Каждый шаг включает теоретические аспекты по базам данных или языку SQL, примеры похожих запросов и пояснение к реализации. Поэтому это отличный вариант обучения для начинающих.
Также каждый учащийся может предложить свои задания по SQL. Лучшие из них публикуются в отдельном модуле.
#sql
Тест на отличие Java и JavaScript
Из-за своих названий, сравнение JavaScript и Java стало своего рода мемом. Но по факту общее у них только название — это результат сотрудничества двух компаний: Netscape, которая занималась развитием собственного браузера Netscape Navigator, и Sun Microsystems, которая до этого разработала Java.
Но действительно ли вы можете отличить два этих языка в мелочах? Предлагаем пройти тест на отличие JS от Java. Можете скидывать тому самому «специалисту в IT».
За кого голосуете?
🍌 JavaScript
🌭 Java
#meta
Из-за своих названий, сравнение JavaScript и Java стало своего рода мемом. Но по факту общее у них только название — это результат сотрудничества двух компаний: Netscape, которая занималась развитием собственного браузера Netscape Navigator, и Sun Microsystems, которая до этого разработала Java.
Но действительно ли вы можете отличить два этих языка в мелочах? Предлагаем пройти тест на отличие JS от Java. Можете скидывать тому самому «специалисту в IT».
За кого голосуете?
🍌 JavaScript
🌭 Java
#meta
Что такое TCP/IP — объясняют на пальцах
TCP/IP — это способ, с помощью которого компьютеры обмениваются информацией друг с другом в интернете. Он важен для того, чтобы данные могли безопасно и правильно передаваться. TCP/IP работает так, что данные разбиваются на маленькие кусочки (пакеты), отправляются через сеть с указанием адреса получателя, и затем собираются обратно в исходный файл или сообщение. Этот способ обмена данными является практически фундаментом работы интернета. Поэтому разработчику полезно знать, как работает этот протокол.
Держите видео, где наглядно и простыми словами разбирают принцип работы TCP/IP в деталях: рассказывают про порты, сокеты, DNS, маски сети и многое другое.
@prog_point #интернет #теория
TCP/IP — это способ, с помощью которого компьютеры обмениваются информацией друг с другом в интернете. Он важен для того, чтобы данные могли безопасно и правильно передаваться. TCP/IP работает так, что данные разбиваются на маленькие кусочки (пакеты), отправляются через сеть с указанием адреса получателя, и затем собираются обратно в исходный файл или сообщение. Этот способ обмена данными является практически фундаментом работы интернета. Поэтому разработчику полезно знать, как работает этот протокол.
Держите видео, где наглядно и простыми словами разбирают принцип работы TCP/IP в деталях: рассказывают про порты, сокеты, DNS, маски сети и многое другое.
@prog_point #интернет #теория
YouTube
Что такое TCP/IP: Объясняем на пальцах
Listen IT на Я.Дзене - https://zen.yandex.ru/listenit
В статье мы узнаем:
- Что такое TCP/IP
- Зачем нужен TCP/IP
- Принцип работы TCP/IP
- Что такое IP-адрес
- Что такое порт
- Что такое сокет
- Что такое DNS-сервер
- Популярные порты
- Что такое маска…
В статье мы узнаем:
- Что такое TCP/IP
- Зачем нужен TCP/IP
- Принцип работы TCP/IP
- Что такое IP-адрес
- Что такое порт
- Что такое сокет
- Что такое DNS-сервер
- Популярные порты
- Что такое маска…
Хватайте полезные сайты для создания резюме:
1. Novoresume — простой в использовании резюме-билдер. Шаблоны на сайте помогают создать резюме для иностранных компаний.
2. Resumake.io — на сайте можно сразу загрузить резюме в формате JSON-файла или заполнить только нужные поля, т.к. Resumake создаёт поля по шаблону автоматически.
3. Canva — бесплатный графический редактор, который подходит для создания не только презентаций или сторис, но и резюме. Если вам не хватает идей, то в каталоге можно найти более 100 вариантов шаблонов.
@prog_point #трудоустройство
1. Novoresume — простой в использовании резюме-билдер. Шаблоны на сайте помогают создать резюме для иностранных компаний.
2. Resumake.io — на сайте можно сразу загрузить резюме в формате JSON-файла или заполнить только нужные поля, т.к. Resumake создаёт поля по шаблону автоматически.
3. Canva — бесплатный графический редактор, который подходит для создания не только презентаций или сторис, но и резюме. Если вам не хватает идей, то в каталоге можно найти более 100 вариантов шаблонов.
@prog_point #трудоустройство
Novorésumé
Resume Builder for 2024 | Free Resume Builder | Novorésumé
Make a perfect resume in 2024 and get your dream job using the free resume builder. Select a template. Personalize it. Get more interviews.
Forwarded from IT Юмор
Курс по C# для начинающих
C# — это мощный и гибкий язык программирования, разработанный Microsoft. Он широко используется для создания разнообразных приложений, включая веб-сайты, мобильные приложения, игры и программное обеспечение корпоративного уровня, что делает его важным инструментом для разработчиков во многих областях.
Держите отличный видео-курс, в котором обучают с нуля всем основным аспектам этого языка программирования. Курс будет полезен и тем, кто уже знаком с C# — в конце разбирают более сложные темы, по типу сборки мусора, сериализации и атрибутов.
@prog_point #csharp
C# — это мощный и гибкий язык программирования, разработанный Microsoft. Он широко используется для создания разнообразных приложений, включая веб-сайты, мобильные приложения, игры и программное обеспечение корпоративного уровня, что делает его важным инструментом для разработчиков во многих областях.
Держите отличный видео-курс, в котором обучают с нуля всем основным аспектам этого языка программирования. Курс будет полезен и тем, кто уже знаком с C# — в конце разбирают более сложные темы, по типу сборки мусора, сериализации и атрибутов.
@prog_point #csharp
YouTube
Преимущества и недостатки C# - Учим Шарп #1
Преимущества и недостатки языка программирования C#
Мы рассмотрим важный вопрос, который достаточно часто упускают из внимания - действительно ли язык программирования C# подходит тебе для изучения и нужно ли тратить на него время.
В рамках данного курса…
Мы рассмотрим важный вопрос, который достаточно часто упускают из внимания - действительно ли язык программирования C# подходит тебе для изучения и нужно ли тратить на него время.
В рамках данного курса…