Я дам вам мой ответ, который на самом деле не от мастера, но кто-то с похожим вопросом не так давно.
Во-первых, я не думаю, что документация сделает много, чтобы помочь вам стать "менее хакерским" Да, если вы прочитаете всю документацию по Python, вы обнаружите некоторые полезные вещи, но если вы похожи на большинство людей, вы, вероятно, просто ошеломитесь и забудете большую часть прочитанного.
Гуглить не плохо, особенно если вы учитесь в одиночку - на самом деле, это может быть одним из лучших способов обучения. Документы не обязательно лучше, чем SO или Google - документы, как правило, не так сильно помогают вам решать проблемы, как другие источники. Чем реже вы пытаетесь сделать, тем больше помогают документы.
Если у вас есть знакомый, который также изучает, парное программирование (в сочетании с поиском в Google) может быть эффективным; Я также понимаю, что многие ведущие компании заставляют своих программистов работать.
Если вы ищете что-то более «высокого уровня», я бы прочитал что-нибудь о тестовой разработке и особенно поведенчески-ориентированной разработке на ваших целевых языках. Написание тестов - чрезвычайно важный навык, он помогает вашему коду быть «чище» и DRYer , и никто не говорит вам, что в начале большинство строк (современных) коммерческих баз кода - в основном тесты. На мой взгляд, выход из «хакерства» во многом заключается в том, чтобы научиться решать проблемы проектирования, что легче всего сделать, изучая разработку на основе тестов.
Вы также можете попытаться узнать немного больше об общих шаблонах проектирования с помощью (1) «поваренных книг» (например, поваренная книга Python , Автоматизация скучных вещей с помощью Python, Two Scoops of Django) или ( 2) заниматься математическими / логическими задачами, чтобы вы понимали, как свести задачу к минимуму. Например, многие хакерские события в HackerRank сводятся к удалению Os путем продумывания проблемы и упрощения алгоритмов, требующих математических / логических (то есть доказательств), способных рассуждать.
Есть также несколько хороших (бесплатных / дешевых) онлайн-курсов для такого рода вещей (например, Гибкая разработка с использованием Ruby on Rails ), которые, возможно, стоит потратить время на ознакомление.
По сути, решение проблем, с кодом или нет, является творческим упражнением. ничего не так с "связыванием" решений из разных источников - просто спросите художника, работают ли они вообще или без "вдохновения" из других работ, мира и т. Д. Они обычно делают. Это не все, что исходит от вас и только от вас.
Наконец, кто-то, вероятно, расскажет вам о характере вопроса, который вы задали здесь. Таким образом, предполагается, что вопросы, как правило, несубъективны ... если что-то не изменилось.