Так как моя любовь к программированию построена не на желании написать код абы как лишь бы оно работало, я порой трачу массу времени на продумывание и порой переделку кучи классов, а порой и написании все с нуля если вижу идею лучше. Так вот это стремление заставляет меня постоянно искать советы и рекомендации более опытных людей, следствием чего стало прчотение массы книг к которым 80% людей программирующих не притронутся ибо оно работает и ладно .. остальное им не важно. Так вот некоторое время назад на полке магазина мне встретилась данная книга, ценник меня не очень порадовал у нас она стоила 1200р ... полистал, почитал, поставил на полку ушел. Неделю мне не давала покоя эта книга и отрывки из нее что были в памяти, пришел, купил. Совет один.. если Вас тянет к качественному улучшению вашего кода, структур классов, архитектуры, методов и тд и тп .. книга ДЛЯ ВАС. Из ее 860 страниц 300 уже прочитал, можно сказать проглотил, многое мне было уже известно ибо подобная книга для меня не первая но и тут нашлись очень очень интересные рекомендации, советы и еще масса ждет впереди. От вопросов архитектуры до вопросов создания отдельных переменных. В некоторых аспектах я взглянул совершенно по другому на разработку ПО и мне понравилось это. Книга местами противоречивая, иногда одни советы противоречат другим, но автор предупреждает сразу что одни вещи хороши в одной ситуации другие в другой. И так книга: Совершенный код Стив Макконнел ISBN 978-5-7502-0064-1 Внимание: Еще раз предупреждаю, если вы пишите код из нескольких десятков строк для реализации простой логики для ардуино или просто мелкие сверх короткие вещи и не заморачиваетесь на качестве вашей программы - то эта книга лишь заставит вас зевать и скучать.
Когда лучше эту книгу читать, во время изучения основ первого языка программирования, или после того как уже накопился некоторый опыт программирования?
Мне сложно сказать, т.к. читал я её один раз. Уже тогда, когда несколько лет занимался программированием. Для новичка лишней она точно не будет, но насколько понятной... вопрос.
Выскажу исключительное личное мнение и не более. На мой взгляд если человек только только изучает свой первый язык, брать в руки эту книгу не стоит. В начале пути в голове и так каша от попытки просто заставить что то простое работать и кучи кучи новой информации о языке, а к этой каши еще будет примешиваться каша и правила хорошего тона и в итоге это будет просто "разрывать" голову. К такой книги надо "придти" самому, со временем, когда уже нет проблем с пониманием языка, уже более менее уверенно пусть и не сильно правильно можешь что то написать. И вот когда начинает ощущаться нехватка понимания как написать правильно, когда чувствуешь что коду и программе не хватает какой то элегантности, легкости и прочее, когда чувствуешь что работать то оно работает но все равно что то не так, сложно, непонятно, запутанно.. вот тогда и наступает время подобной книги. В этой ситуации чтение книги часто будет пересекаться в памяти с ситуациями с которыми пришлось столкнутся и тут же видеть как эти ситуации можно было решить лучше, чтение некоторых мест станет похоже на получение долгожданных ответов которые моментально укоренятся в памяти и тд и тп. Посему еще раз оговорюсь, это исключительно мое мнение и не более, каждый выбирает подход по себе, но что касательно меня, я к подобным книгам пришел спустя определенное время, когда мог написать все что хотел но начал чувствовать именно необходимость качественного улучшения кода.
Спасибо за комментарий, я в принципе и сейчас задаюсь вопросом, как лучше писать. Но лучше сначала напишу более менее серьёзную программу и потом начну изучать данную книгу.
Осмелюсь предложить ссылки на книгу: http://rutracker.org/forum/viewtopic.php?t=3405589 Формат: DjVu http://rutracker.org/forum/viewtopic.php?t=4342826 Формат: Pdf
Добрый день. Данную книгу нельзя читать отдельно от того языка, на которым вы разрабатываете. Так, как тут большинство ортодоксальных программистов, то нужно читать догмат : Язык программирования C, Брайан Керниган, Деннис Ритчи ISBN 978-5-8459-1874-1, 0-13-110362-8; 2013 г. Без знания этого догмата будет сложнее.
В совершенном коке нет упора на какой-либо язык. Примеры приводятся на языках: C++, Java, Visual Basic (парочка примеров была на С) Но данные языки автором были выбраны лишь как наиболее распатроненные языки, книга ни коем образом не стягивает смысл сказанного к языку, там наоборот продвигается идиома что программировать надо С ПОМОЩЬЮ языка а НЕ НА ЯЗЫКЕ. Из чего могу сказать из личного опыта что множество идей почерпнутых в Совершенном коде до селя не приходивших мне в голову, я весьма успешно адаптировал на PHP и Javascript для веб-разработок. Хотя та же PHP это вообще язык сценария но почти половину книги можно с успехом применять в нем для улучшения качества кода. Таким образом, предложенная Вами книга весьма любопытна но читать "совершенный код" можно работая на любом языке и как я писал выше лишь тогда когда человек сам ощутит в этом потребность. В общем суть всего выше сказанного водится к тому что вы показали хорошую книгу, но ее стоило показать бы в теме посвященной изучению Си а не книге которая по своему стилю вовсе абстрагирована от какого-либо языка P.s. За книгу спасибо, я ее уже заказал, странно что сей основополагающий труд по Си мне не попадался на глаза на полках магазином, прочту как придет.
Я немного не правильно выразился. Чтение Макконнелла не должно ограничиваться только чтением. Его нужно совмещать с практикой. Это главная мысль. А так, как тут более ортодоксальные программисты я вот и привел пример книги по Си. По разработке ПО есть целая линейка отличных книг, которые требуются и хранятся и перечитываются. К примеру, когда собеседую всегда спрашиваю, какие книги читаете. Это не главный, но и не последний момент в сфере разработки ПО. Особенно отметить нужно эту книгу, она больше хранит в себе практических советов, нежели Макконнелл: P.S.: Приятного чтения
Спасибо за сию выкладку. Взял на заметку все. А насчет читать и практиковаться, тут не поспоришь, .. теория без практики мертва. Но я думаю подобные книги не читают просто вместо детектива на ночь, за такие книги берутся лишь те кто постоянно работает с кодом.
Там большая линейка книг. У них схожее оформление. В общем рекомендую Есть даже по рефакторингу верстки HTML. В общем, желаю приятного чтения И продуктивной практики!
Давно получил, прочел уже часть, действительно хорошая книжечка, очень много мелочей и нюансов языка описано, знания которых помогут избежать ряда ошибок. Книга не подойдет совсем совсем новичку ибо она не построена в виде увлекательного учебника, а вот для уже начавшего и желающего узнать больше тонкостей и иметь под рукой справочник по "чистому" Си, очень даже хороша. Доволен что потратил на нее деньги.