Принципы разработки для полных новичков? [закрытый]

Схема Документа в FormsDesigner ( CTRL + ALT + T)

Быстрое переименование управления, упорядочивание и больше!

15
задан Enrico Tuvera Jr 8 December 2009 в 18:22
поделиться

18 ответов

Прочитать чужой код. Это лучший способ лучше изучить принципы дизайна. Читайте код людей на своей работе, читайте код людей на форумах, смотрите проекты с открытым исходным кодом ... и никогда не прекращайте писать код, потому что лучший учитель - это ошибки, которые вы делаете на этом пути ...

Ознакомьтесь с книгой , Программист-прагматик, от подмастерья до мастера . Это отличная книга, которая поможет восполнить пробел в знаниях, которые вы ищете.

4
ответ дан 1 December 2019 в 00:29
поделиться

Забудьте о книгах. По моему опыту (который включает время, проведенное инструктором и составителем курсов по объектно-ориентированному дизайну), некоторые люди могут заниматься дизайном, а некоторые нет - это талант, как скульптор. В лучшем случае чтение книг по этой теме позволит вам плохо проектировать, если у вас нет таланта.

0
ответ дан 1 December 2019 в 00:29
поделиться

В зависимости от вашего фона (и в некоторой степени опыта) вы также можете захотеть изучить основные алгоритмы. Книга вроде Introduction to Algorithms - хорошее начало.

Кроме того, я также голосую за шаблоны проектирования Head First. GoF будет лучше работать в качестве справочного материала позже.

0
ответ дан 1 December 2019 в 00:29
поделиться

Книга «Банда четырех» - Шаблоны проектирования .. Но, пожалуйста, не переусердствуйте и старайтесь использовать Singleton везде :)

Просто знайте это и используйте его с умом. Также после этого изучите хороший открытый исходный код и попытайтесь извлечь уроки из их структур. Я предлагаю код Google и sourceforge

0
ответ дан 1 December 2019 в 00:29
поделиться

Шаблоны проектирования «Сначала голова» - хорошее место для начала для новичка. В нее, наверное, легче попасть, чем в книгу «Банда четырех».

1
ответ дан 1 December 2019 в 00:29
поделиться

Учите другой язык! Я люблю питон, и, несмотря на то, что все говорят, мой питон лучше, потому что я знаю Java . (Некоторые люди жалуются, что запуск с java приводит к тому, что изначально создается неуклюжий Python, но если вы уже знаете более или менее простой способ сделать что-то на Python, вы будете в безопасности.)

Позвольте мне сделать немного хирургии бензопилы здесь. С первого раза написать на python несложно. Я пишу это в vim, потому что могу и потому, что люблю vim. Если у вас есть IDE, его легко поддерживать и реорганизовывать. Я пишу java в Eclipse, потому что без него я был бы безнадежен. Но суть в том, написание на языке, который заставляет вас использовать абстракции с помощью инструмента, упрощающего абстракции, постепенно формирует ваш мозг, чтобы кодировать более абстрактно .

1
ответ дан 1 December 2019 в 00:29
поделиться

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

Когда вы пишете код, задавайте следующие вопросы:

  1. Как я буду его тестировать?
  2. Как мне отладить его?
  3. Что я делаю снова и снова?

Я убедитесь, что у других людей есть другие идеи, основанные на их собственном опыте.

2
ответ дан 1 December 2019 в 00:29
поделиться

Я бы обязательно добавил еще одну книгу. Я думаю, что Clean Code Боба Мартина - очень хорошая книга, которая расскажет вам, как писать код, который можно сопровождать. Он вводит несколько простых правил, которые приводят к очень хорошо структурированному и читаемому коду.

2
ответ дан 1 December 2019 в 00:29
поделиться

Я предлагаю Структура и интерпретация компьютерных программ , которая доступна онлайн в виде книги, а также в виде онлайн-курса.

Это не курс. книга по шаблонам проектирования, но она поможет вам разработать хорошие основы для создания приложений.

2
ответ дан 1 December 2019 в 00:29
поделиться

Это не книга (книги уже давно устарели), но определенно полезно потратить несколько часов на чтение Портлендского репозитория шаблонов .

Хотя это также не учебное пособие, в нем есть отличные примеры кода и столь же интересное обсуждение шаблонов проектирования и программирования в целом. Это отличный ресурс для обучения мыслить как программист.

2
ответ дан 1 December 2019 в 00:29
поделиться

Ознакомьтесь с этой книгой: Шаблоны проектирования Head First ... буквально. Проверить это. Из библиотеки.

2
ответ дан 1 December 2019 в 00:29
поделиться

Пара других принципов, на которые стоит обратить внимание:

ДЕРЬМО: Четыре принципа звукового дизайна - Для удобства использования это хорошие принципы, которые следует знать.

Тема Пабло месяца - март: SOLID Principles - Также есть несколько хороших идей.

3
ответ дан 1 December 2019 в 00:29
поделиться

Имея год опыта в программировании, я не буду предлагать шаблоны проектирования (или шаблоны проектирования Head First), так как считаю, что шаблоны проектирования (концепции) лучше всего обрабатывать, когда у вас будет больше опыта программирования. возможно больше похоже на 5-10 лет опыта .

Думаю, книга Прагматический программист: от подмастерья к мастеру , написанная Эндрю Хант и Дэвид Томас , возможно, ваш лучший выбор для получения максимальной отдачи на текущем уровне. Вот отличное резюме тем и содержания (от Джеффа Этвуда из Coding Horror). Используйте межбиблиотечный абонемент , если у вас нет средств на покупку собственного экземпляра.

cover of The Pragmatic Programmer

Два других названия, которые также не зависят от языка, но являются классическими книгами, которые настоятельно рекомендуются начинающим программистам, о которых вы можете помнить: Мифический человеко-месяц (юбилейное издание, опубликованное в 1995 году) Фреда Брукса и Code Complete (второе издание) Стивена МакКоннелла.

Эти книги помогут расширить ваши знания в области программирования, не перегружая вас на текущем этапе развития, и заложат прочную основу для того, чтобы стать лучшим программистом. Все эти книги постоянно находятся на вершине рекомендуемых книг по программированию для серьезных программистов, и все они достаточно «старые», что явно не причуда, но постоянные рекомендации не ограничиваются конкретным языком, средой или набором инструментов.

Эти книги помогут расширить ваши знания в области программирования, не перегружая вас на текущем этапе развития, и заложат прочную основу для того, чтобы стать лучшим программистом. Все эти книги постоянно находятся на вершине рекомендуемых книг по программированию для серьезных программистов, и все они достаточно «старые», что явно не причуда, но постоянные рекомендации не ограничиваются конкретным языком, средой или набором инструментов.

Эти книги помогут расширить ваши знания в области программирования, не перегружая вас на текущем этапе развития, и заложат прочную основу для того, чтобы стать лучшим программистом. Все эти книги постоянно находятся на вершине рекомендуемых книг по программированию для серьезных программистов, и все они достаточно «старые», что явно не причуда, но постоянные рекомендации не ограничиваются конкретным языком, средой или набором инструментов.

3
ответ дан 1 December 2019 в 00:29
поделиться

Вау, интересно, почему до сих пор никто не сказал, что U действительно не должен слишком углубляться в теорию. Через год код Ура уродлив. Ничего не поделаешь. Если ты успеваешь сделать большинство вещей, которые хочешь закончить, это уже очень здорово. Но U не может обмануть мозг Ура с помощью теории. Просто продолжайте писать и сердитесь на код Ur. Это лучший способ писать лучше. Ура подумайте о том, как писать рабочий код более читаемым / полезным / поддерживаемым способом, как можно чаще. И: Прочтите код других людей + получите отзывы о коде Ur! Там должны быть люди, которые могут писать лучше, чем U. Учитесь на примере!

И, возможно, 20% времени на программирование Ur (это означает, что если U программируют каждый день, но не более 2 месяцев в году!), Вы получите немного теории.

Почему бы не начать с теоретических масс? Вы убиваете мотивацию Ура и инстинкт Ура. Но когда вы сидите и пытаетесь решить проблему, в основном это связано с правильным инстинктом. Имея слишком много теории, вы слишком много думаете о проблеме и ее решениях. Но инстинкт Ура будет по-прежнему на уровне опыта Ура, сколько бы U ни читал.

(извините, если плохой английский. Не мой mothertounge)

1
ответ дан 1 December 2019 в 00:29
поделиться

DRY и YAGNI - хорошая отправная точка для новичков, и вам необходимо изучить и понять ООП .

Что касается Шаблоны проектирования (которые немного более сложные и абстрактные, чем DRY и ООП) вы можете изучить в бесплатном Шаблонах проектирования - Java Companion . Тот факт, что это не Python, не должен вас беспокоить - классические шаблоны проектирования применимы везде.

Если вы захотите пойти дальше, взгляните на DDD ( бесплатную книгу DDD от Эрика Эванса ]) и, конечно же, Unit Testing , которое, хотите верьте, хотите нет, улучшит ваш код и вас как дизайнера.

7
ответ дан 1 December 2019 в 00:29
поделиться

Head First Design Patterns может быть более мягким вступлением к книге GoF «Design Patterns»

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

Рефакторинг Мартина Фаулера в значительной степени относится к шаблонам проектирования, но представляет собой отличный каталог так себе кода и лучших способов о написании этого (я прочитал его примерно в то же время, когда прочитал "Code Complete", за пару лет [tsk tsk] до чтения Design Patterns, и "Refactoring" сильно повлиял на то, как я смотрел на написанный мной код. лучше, мне нравится думать).

Ни один из них не является «бесплатным». Но какой хороший совет вам нужен? Если вы пытаетесь инвестировать в свою карьеру,

12
ответ дан 1 December 2019 в 00:29
поделиться

Похоже, вам нужна книга по шаблонам проектирования.

Взгляните на: Шаблоны проектирования - элементы многоразового объектно-ориентированного программного обеспечения . Предупреждение, это не относится к Python.

Вы также можете посетить этот онлайн-ресурс для шаблонов проектирования Python.

Пользователь Stackoverflow @ S.Lott также имеет много действительно хороших ресурсов Python, которые он написал. Вы можете увидеть их на его странице Stackoverflow.

4
ответ дан 1 December 2019 в 00:29
поделиться

Вам, вероятно, следует больше узнать об объектно-ориентированном программировании. Вот хороший учебник, основанный на Python:

Учебник по ООП на Python

Объектно-ориентированное программирование - это способ организовать ваши программы таким образом, чтобы они отражали элементы проблемы, которую вы пытаетесь решить.

HIH

... Ричи

1
ответ дан 1 December 2019 в 00:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: