5 архитектурных ошибок, которые мы совершаем при старте проектов
Многие из нас с головой уходят в реализацию идеи, не задавая себе главный вопрос: а что будет, когда проект вырастет?
Аспекты вроде масштабирования, как и фундамент дома, нужно продумывать сначала, иначе потом вас ждет не апгрейд, а перестройка с нуля. А еще именно в самом начале проекта закладывается почва для ада зависимостей: спонтанные решения, быстрые фиксы, «временные» костыли — всё это превращается в хаос, который сложно контролировать.
В статье Tproger 5 самых частых архитектурных ошибок, которые мешают проектам расти и развиваться.
#основы
@zen_of_python
🙊 — Если сам так писал
Многие из нас с головой уходят в реализацию идеи, не задавая себе главный вопрос: а что будет, когда проект вырастет?
Аспекты вроде масштабирования, как и фундамент дома, нужно продумывать сначала, иначе потом вас ждет не апгрейд, а перестройка с нуля. А еще именно в самом начале проекта закладывается почва для ада зависимостей: спонтанные решения, быстрые фиксы, «временные» костыли — всё это превращается в хаос, который сложно контролировать.
В статье Tproger 5 самых частых архитектурных ошибок, которые мешают проектам расти и развиваться.
#основы
@zen_of_python
🙊 — Если сам так писал
☃2👍2🎉1
isinstance()
: Проверка типовВ динамически типизированных языках нам особенно важно знать тип объекта, которым мы оперируем. С этим помогают две встроенные функции —
type()
и isinstance()
, и мы поговорим сегодня о второй из них.
isinstance(object, classinfo)
—
object
: объект, тип которого вы хотите проверить—
classinfo
: класс, тип или кортеж типов
# Является ли 42 целочисленным значением?
isinstance(42, int) # True
# Относится ли "hello" к одному из типов str / list (логическое «ИЛИ»)?
isinstance("hello", (str, list)) # True
isinstance() vs type()
Поначалу может показаться, что
type()
делает то же самое:
type(42) == int # True
Но
isinstance()
, в свою очередь, учитывает наследование:
class Animal:
pass
class Dog(Animal):
pass
dog = Dog()
type(dog) == Animal # False
isinstance(dog, Animal) # True
Это делает
isinstance()
предпочтительным выбором при работе с иерархиями классов.#основы
👍13