Есть ли учебные пособия, которые учат сразу писать код для крупных проектов правильно?
Наверняка, многие, кто учил программирование, потом сталкивался с такой проблемой, что учишь-учишь, приходишь на какую-то работу или проект, а там совсем другое программирование. Вроде те же классы и методы, а ничего неясно. Например, я читал и смотрел немало материалов по Java, а потом случайно попался материал, как пишут код на реальном проекте. Оказалось, что даже маленькие приложения там разносятся по энному количеству классов, обязательно навешиваются тесты, поведение программы логируется, используется куча исключений и т. д. Или вот PHP. Полно материалов по основам, а смотришь обзорно "взрослые" проекты, а там все на ООП и фреймворках, которые снова-таки кажутся написанными на каком-то другом PHP. Подозреваю, что все эти корпоративные или промышленные стандарты не из головы берутся, а откуда-то пошли. Откуда? Есть ли какие-то книги, курсы или другие материалы, где сразу учат правильно писать код не для себя, а предприятия с перспективой на многие годы и поддержку кучей людей? Что-то вроде, как пишут код для крупных проектов уровня предприятия. Или хотя бы подскажите, в каком направлении копать, потому что даже примерно не понимаю.
Ответы (2 шт):
Это примерно сказать. Что в азбуке учат буквы - а есть ли книги или курсы где учат писать стихи, произведения, песни, шедевры одним словом? Нет у каждого промышленного кода есть несколько этапов переписывания и допиливания. Стиль конечно также не сразу у всех вырабатывается на это нужно годы практики.
Разберем на цитаты?
Есть ли учебные пособия, которые учат сразу писать код для крупных проектов правильно?
Есть сложные пособия, которые учат писать сложный код для решения сложных проблем. Вопрос в другом: поймете ли вы эти сложные основы без знания основ? Как уже ответил Aziz, вы можете найти книги и по стихам, и по песням, но без знания алфавита вы не осилите ни то, ни другого.
...приходишь на какую-то работу или проект, а там совсем другое программирование
Увы, код не везде одинаков. Все программисты пишут по-разному, даже если работают в одной компании и придерживаются одного стиля. Вообще, одну и ту же задачу 2 разных программиста решат по-разному в 99% случаев (только если это не задача A+B).
Оказалось, что даже маленькие приложения там разносятся по энному количеству классов, обязательно навешиваются тесты, поведение программы логируется, используется куча исключений и т. д.
В обучающих книгах, видео, курсах начального уровня (уровня "алфавит") учат основам: переменные, функции и возвращаемые значения... На более сложном уровне подключаются перечисления и структуры, дополнительные ресурсы. Затем основы ООП, такие как инкапсуляция, наследование... Чем выше уровень знаний, тем больше возможностей для обучения открыто. Можно постоянно совершенствоваться, так как ничего удивительного в том, что код профессиональных программистов компании отличается от кода в видео/книжках.
Подозреваю, что все эти корпоративные или промышленные стандарты не из головы берутся, а откуда-то пошли.
Стандарты - возможно, сюда можно отнести Паттерны проектирования в ООП.
Что-то вроде, как пишут код для крупных проектов уровня предприятия
Чтобы понять как пишут код на предприятии, нужно там работать... Ведь в разных компаниях его могут писать совсем по-разному!
Или хотя бы подскажите, в каком направлении копать, потому что даже примерно не понимаю.
Не знаете основ - учить основы. Знаете основы? Создавайте свои проекты. Но не простые, а челленджевые (о, какое слово), чтобы видеть перед собой проблемы, баги и ошибки и, решая и исправляя их, не стесняться подглядывать в ресурсы/документацию/StackOverflow и учиться новому!
Ну а у нас на стеке есть целая страница с ресурсами по программированию: Книги и учебные ресурсы по фундаментальным знаниям и навыкам разработчика.
Ну и еще здесь "лобби": Книги и другие материалы для обучения