Опыт разработчиков: сборники ссылок

Наверняка вы встречались с awesome-LANGUAGE списками. Это набор ссылок на интересные библиотеки/статьи/книги/видео по языкам программирования.

Таких списков настолько много, что даже сделали список - awesome-awesomeness (https://github.com/bayandin/awesome-awesomeness)

Но даже в нем не все есть про Python, приведу список интересных списков:

more ...

Опыт разработчиков: использование переменной _

Хорошие имена переменных - это признак хорошего кода. Для циклов часто используют одно-буквенные переменные, для временных переменных тоже короткие, для глобальных - ЗАГЛАВНЫЕ. Есть и другие рекомендации. Все они написаны кровью из глаз разработчиков.

Перейдем к заголовку и сразу пример: Пускай есть функция, которая возвращает 3 значения.

def super_function():
    ....
    return a, b, c

Функция возвращает три значения, а нам в данном кусе ...

more ...

Опыт разработчиков: замыкания (closure). Зачем и почему.

В синтаксисе Python один и тот же символ или конструкция часто используется для разных целей Возможно вы встречались с подобным кодом:

def outer_func(x):
    def inner_func(y):
        # inner_func замкнуло в себе х
        return y + x
    return inner_func

Похож на декоратор. Это называется замыканием. Это более общий случай декоратора. Смысл замыкания состоит в том, что определение функции "замораживает" окружающий её контекст ...

more ...


Опыт разработчиков: соглашения о кодировании

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

Для разработчика важным является соглашение о кодировании. Это своего рода свод "законов", которые принимает новый разработчик, когда погружается в проект. Чаще всего такие законы очевидны и естественны.

Возьмем пример - длина строки не более 79 символов. В свое время дисплеи содержали ...

more ...


Опыт разработчиков: assert как средство для валидации

Опыт разработчиков: assert как средство для валидации

Хочется сегодня осветить такой элемент синтаксиса как assert. assert - это специальная конструкция, позволяющая проверять предположения о значениях произвольных данных в произвольном месте программы.

Какая же польза от этой проверки? Представим что мы что-то пишем код, который получает данные из Базы Данных, производит обработку данных и загружает результат обратно. По замыслу этого кода мы ...

more ...

Опыт разработчиков: файл requirements.txt в каждый проект

Первой проблемой при поддержке старых проектов является понять, как запустить его. Чтобы немного упростить эту задачу разработчики используют pip и файл requirements.txt. В этом файле записываются все необходимые для работы библиотеки и, что самое главное, указывают версии этих библиотек.

Имея такой файл настройка окружения для старта проекта может состоять из одной команды:

pip install -r requirements.txt
more ...

Опыт разработчиков: пишем совместимый код (Python 2 и 3)

Python 3 вышел в 2008 году, однако, до сих пор не все перешли на новую версию. Раньше основными аргументами, чтобы не начинать новые проекты на Python были - библиотеки не готовы к использованию, нет особых фич.

Первое уже вполне решено - https://python3wos.appspot.com/

А второе, начиная с Python 3.3 уже слабо актуально - много новых фич введено.

Поэтому теперь актуально ...

more ...

Опыт разработчиков: "Перестаньте писать классы"

Признак того, что объект не должен быть классом — если в нём всего 2 метода, и один из них — инициализация, __init__. Каждый раз видя это, подумайте: «наверное, мне нужна просто одна функция».

more ...