Схема Документа в FormsDesigner ( CTRL + ALT + T)
Быстрое переименование управления, упорядочивание и больше!
Прочитать чужой код. Это лучший способ лучше изучить принципы дизайна. Читайте код людей на своей работе, читайте код людей на форумах, смотрите проекты с открытым исходным кодом ... и никогда не прекращайте писать код, потому что лучший учитель - это ошибки, которые вы делаете на этом пути ...
Ознакомьтесь с книгой , Программист-прагматик, от подмастерья до мастера . Это отличная книга, которая поможет восполнить пробел в знаниях, которые вы ищете.
Забудьте о книгах. По моему опыту (который включает время, проведенное инструктором и составителем курсов по объектно-ориентированному дизайну), некоторые люди могут заниматься дизайном, а некоторые нет - это талант, как скульптор. В лучшем случае чтение книг по этой теме позволит вам плохо проектировать, если у вас нет таланта.
В зависимости от вашего фона (и в некоторой степени опыта) вы также можете захотеть изучить основные алгоритмы. Книга вроде Introduction to Algorithms - хорошее начало.
Кроме того, я также голосую за шаблоны проектирования Head First. GoF будет лучше работать в качестве справочного материала позже.
Книга «Банда четырех» - Шаблоны проектирования .. Но, пожалуйста, не переусердствуйте и старайтесь использовать Singleton везде :)
Просто знайте это и используйте его с умом. Также после этого изучите хороший открытый исходный код и попытайтесь извлечь уроки из их структур. Я предлагаю код Google и sourceforge
Шаблоны проектирования «Сначала голова» - хорошее место для начала для новичка. В нее, наверное, легче попасть, чем в книгу «Банда четырех».
Учите другой язык! Я люблю питон, и, несмотря на то, что все говорят, мой питон лучше, потому что я знаю Java . (Некоторые люди жалуются, что запуск с java приводит к тому, что изначально создается неуклюжий Python, но если вы уже знаете более или менее простой способ сделать что-то на Python, вы будете в безопасности.)
Позвольте мне сделать немного хирургии бензопилы здесь. С первого раза написать на python несложно. Я пишу это в vim, потому что могу и потому, что люблю vim. Если у вас есть IDE, его легко поддерживать и реорганизовывать. Я пишу java в Eclipse, потому что без него я был бы безнадежен. Но суть в том, написание на языке, который заставляет вас использовать абстракции с помощью инструмента, упрощающего абстракции, постепенно формирует ваш мозг, чтобы кодировать более абстрактно .
Лучший способ научиться хорошему дизайну программного обеспечения - это написать код множеством различных способов, прочитать код, написанный другими, и узнать, что работает, а что нет, из первых рук.
Когда вы пишете код, задавайте следующие вопросы:
Я убедитесь, что у других людей есть другие идеи, основанные на их собственном опыте.
Я бы обязательно добавил еще одну книгу. Я думаю, что Clean Code Боба Мартина - очень хорошая книга, которая расскажет вам, как писать код, который можно сопровождать. Он вводит несколько простых правил, которые приводят к очень хорошо структурированному и читаемому коду.
Я предлагаю Структура и интерпретация компьютерных программ , которая доступна онлайн в виде книги, а также в виде онлайн-курса.
Это не курс. книга по шаблонам проектирования, но она поможет вам разработать хорошие основы для создания приложений.
Это не книга (книги уже давно устарели), но определенно полезно потратить несколько часов на чтение Портлендского репозитория шаблонов .
Хотя это также не учебное пособие, в нем есть отличные примеры кода и столь же интересное обсуждение шаблонов проектирования и программирования в целом. Это отличный ресурс для обучения мыслить как программист.
Ознакомьтесь с этой книгой: Шаблоны проектирования Head First ... буквально. Проверить это. Из библиотеки.
Пара других принципов, на которые стоит обратить внимание:
ДЕРЬМО: Четыре принципа звукового дизайна - Для удобства использования это хорошие принципы, которые следует знать.
Тема Пабло месяца - март: SOLID Principles - Также есть несколько хороших идей.
Имея год опыта в программировании, я не буду предлагать шаблоны проектирования (или шаблоны проектирования Head First), так как считаю, что шаблоны проектирования (концепции) лучше всего обрабатывать, когда у вас будет больше опыта программирования. возможно больше похоже на 5-10 лет опыта .
Думаю, книга Прагматический программист: от подмастерья к мастеру , написанная Эндрю Хант и Дэвид Томас , возможно, ваш лучший выбор для получения максимальной отдачи на текущем уровне. Вот отличное резюме тем и содержания (от Джеффа Этвуда из Coding Horror). Используйте межбиблиотечный абонемент , если у вас нет средств на покупку собственного экземпляра.
Два других названия, которые также не зависят от языка, но являются классическими книгами, которые настоятельно рекомендуются начинающим программистам, о которых вы можете помнить: Мифический человеко-месяц (юбилейное издание, опубликованное в 1995 году) Фреда Брукса и Code Complete (второе издание) Стивена МакКоннелла.
Эти книги помогут расширить ваши знания в области программирования, не перегружая вас на текущем этапе развития, и заложат прочную основу для того, чтобы стать лучшим программистом. Все эти книги постоянно находятся на вершине рекомендуемых книг по программированию для серьезных программистов, и все они достаточно «старые», что явно не причуда, но постоянные рекомендации не ограничиваются конкретным языком, средой или набором инструментов.
Эти книги помогут расширить ваши знания в области программирования, не перегружая вас на текущем этапе развития, и заложат прочную основу для того, чтобы стать лучшим программистом. Все эти книги постоянно находятся на вершине рекомендуемых книг по программированию для серьезных программистов, и все они достаточно «старые», что явно не причуда, но постоянные рекомендации не ограничиваются конкретным языком, средой или набором инструментов.
Эти книги помогут расширить ваши знания в области программирования, не перегружая вас на текущем этапе развития, и заложат прочную основу для того, чтобы стать лучшим программистом. Все эти книги постоянно находятся на вершине рекомендуемых книг по программированию для серьезных программистов, и все они достаточно «старые», что явно не причуда, но постоянные рекомендации не ограничиваются конкретным языком, средой или набором инструментов.
Вау, интересно, почему до сих пор никто не сказал, что U действительно не должен слишком углубляться в теорию. Через год код Ура уродлив. Ничего не поделаешь. Если ты успеваешь сделать большинство вещей, которые хочешь закончить, это уже очень здорово. Но U не может обмануть мозг Ура с помощью теории. Просто продолжайте писать и сердитесь на код Ur. Это лучший способ писать лучше. Ура подумайте о том, как писать рабочий код более читаемым / полезным / поддерживаемым способом, как можно чаще. И: Прочтите код других людей + получите отзывы о коде Ur! Там должны быть люди, которые могут писать лучше, чем U. Учитесь на примере!
И, возможно, 20% времени на программирование Ur (это означает, что если U программируют каждый день, но не более 2 месяцев в году!), Вы получите немного теории.
Почему бы не начать с теоретических масс? Вы убиваете мотивацию Ура и инстинкт Ура. Но когда вы сидите и пытаетесь решить проблему, в основном это связано с правильным инстинктом. Имея слишком много теории, вы слишком много думаете о проблеме и ее решениях. Но инстинкт Ура будет по-прежнему на уровне опыта Ура, сколько бы U ни читал.
(извините, если плохой английский. Не мой mothertounge)
DRY и YAGNI - хорошая отправная точка для новичков, и вам необходимо изучить и понять ООП .
Что касается Шаблоны проектирования (которые немного более сложные и абстрактные, чем DRY и ООП) вы можете изучить в бесплатном Шаблонах проектирования - Java Companion . Тот факт, что это не Python, не должен вас беспокоить - классические шаблоны проектирования применимы везде.
Если вы захотите пойти дальше, взгляните на DDD ( бесплатную книгу DDD от Эрика Эванса ]) и, конечно же, Unit Testing , которое, хотите верьте, хотите нет, улучшит ваш код и вас как дизайнера.
Head First Design Patterns может быть более мягким вступлением к книге GoF «Design Patterns»
Стива МакКоннелла Code Complete - хорошее руководство по многим вещам кода, в том числе о том, как использовать хорошие стратегии на языках, которые изначально не поддерживают их.
Рефакторинг Мартина Фаулера в значительной степени относится к шаблонам проектирования, но представляет собой отличный каталог так себе кода и лучших способов о написании этого (я прочитал его примерно в то же время, когда прочитал "Code Complete", за пару лет [tsk tsk] до чтения Design Patterns, и "Refactoring" сильно повлиял на то, как я смотрел на написанный мной код. лучше, мне нравится думать).
Ни один из них не является «бесплатным». Но какой хороший совет вам нужен? Если вы пытаетесь инвестировать в свою карьеру,
Похоже, вам нужна книга по шаблонам проектирования.
Взгляните на: Шаблоны проектирования - элементы многоразового объектно-ориентированного программного обеспечения . Предупреждение, это не относится к Python.
Вы также можете посетить этот онлайн-ресурс для шаблонов проектирования Python.
Пользователь Stackoverflow @ S.Lott также имеет много действительно хороших ресурсов Python, которые он написал. Вы можете увидеть их на его странице Stackoverflow.
Вам, вероятно, следует больше узнать об объектно-ориентированном программировании. Вот хороший учебник, основанный на Python:
Объектно-ориентированное программирование - это способ организовать ваши программы таким образом, чтобы они отражали элементы проблемы, которую вы пытаетесь решить.
HIH
... Ричи