Путь к навыкам программирования среднего уровня - PullRequest
3 голосов
/ 17 ноября 2009

У меня вопрос, связанный с практическим изучением навыков программирования.

Я знаком с основами программирования, знаю синтаксис и некоторые концепции нескольких языков (Pascal, PHP, Python, теперь хочу изучать C #) и довольно много отлаживаю, поэтому я могу писать (и писать) программы не более 1000 строк кода для моих собственных нужд.

Однако то, что я ищу, - это какой-то способ добраться до среднего уровня программирования. Я имею в виду: - Понимание, как решать сложные задачи / проекты, как разбивать их на более мелкие - Практическое применение шаблонов проектирования, начиная с практического задания (я думаю, что будет гораздо легче понять и запомнить, чем просто читать о них) - Начало серьезного использования ООП

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


Спасибо за ответы. Code Complete и Pragmatic Programmer уже находятся в моем списке чтения (я собирался начать их после завершения некоторых книг по Python), ваши рекомендации действительно полезны.

Ответы [ 7 ]

2 голосов
/ 17 ноября 2009

Прочитайте Pragmatic Programmer и / или Code Complete. Я думаю, что Прагматичный Программист читается быстрее и, вероятно, начал бы там.

2 голосов
/ 17 ноября 2009
1 голос
/ 17 ноября 2009

Единственный способ стать лучше - это опыт. Независимо от того, сколько проектов вы пишете в течение своей жизни, всякий раз, когда вы оглядываетесь на один из своих старых проектов, вы будете думать: «Черт, этот код отстой, я мог бы написать его сейчас, чтобы он был значительно чище / быстрее / больше элегантный ".

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

0 голосов
/ 15 ноября 2010

Я бы также предложил Прагматическое мышление и обучение, рефакторинг вашей Wetware от Энди Ханта - тот же автор Pragmatic Programmer.

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

Он говорит об Уровнях Навыков и о том, что требуется любому из этих уровней для перехода на Уровень Эксперта.

Он говорит о фокусе и внимании и о том, как узнать о вашем мозге, который является огромным и гибким творческим источником.

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

Эта ссылка ответит другой половине -> Какую самую влиятельную книгу должен прочитать каждый программист

0 голосов
/ 18 ноября 2009

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

Один из вариантов, который у вас всегда есть, - это выбрать открытый исходный код, посмотреть, как это делается, и попытаться добавить в него какую-то функцию.

0 голосов
/ 17 ноября 2009

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

1.) План! Последнее, что вы хотите сделать, это полностью завершить проект среднего размера. Я не говорю о планировании каждого метода, переменной и т. Д., Но имею достаточно подробный обзор того, что вы хотите сделать, и как вы хотите это сделать, прежде чем писать одну строчку кода. Даже если это займет неделю или больше, вы сэкономите время в долгосрочной перспективе.

2.) Ставьте цели. При работе над большим проектом; Мне нравится разбивать его на 2-недельные интервалы, по окончании которых у меня есть результат. (то есть структура базы данных на месте, реализован слой CRUD, базовый графический интерфейс и т. д.) Слишком легко застрять в эфире, когда вы говорите: «Это будет сделано через 4 месяца»

3.) Не стреляйте для совершенства с первой попытки. Ничто не может быть идеальным сразу, так что вы просто будете бороться, если вы работаете над тем, чтобы сделать это "правильно". Кроме того, все меняется на протяжении большого проекта; где то, что вы себе представляете, на самом деле не то, чем оно заканчивается.

4.) Используйте то, что работает для вас! Не пытайтесь засунуть себя в чужое мышление. То, что я описал, может не сработать для вас.

0 голосов
/ 17 ноября 2009

Пожалуйста, смотрите https://stackoverflow.com/questions/tagged?tagnames=books&sort=votes

Если вы ищете только одно предложение о том, как стать «лучше», я бы посоветовал прочитать Code Complete. Но чтение вообще ничего поставит вас на голову выше большинства профессиональных разработчиков.

...