Совершенный код - Книга

Тема в разделе "Флудилка", создана пользователем NR55RU, 11 июл 2013.

  1. NR55RU

    NR55RU Гик

    Так как моя любовь к программированию построена не на желании написать код абы как лишь бы оно работало, я порой трачу массу времени на продумывание и порой переделку кучи классов, а порой и написании все с нуля если вижу идею лучше.
    Так вот это стремление заставляет меня постоянно искать советы и рекомендации более опытных людей, следствием чего стало прчотение массы книг к которым 80% людей программирующих не притронутся ибо оно работает и ладно .. остальное им не важно.
    Так вот некоторое время назад на полке магазина мне встретилась данная книга, ценник меня не очень порадовал у нас она стоила 1200р ... полистал, почитал, поставил на полку ушел.
    Неделю мне не давала покоя эта книга и отрывки из нее что были в памяти, пришел, купил.
    Совет один.. если Вас тянет к качественному улучшению вашего кода, структур классов, архитектуры, методов и тд и тп .. книга ДЛЯ ВАС.
    Из ее 860 страниц 300 уже прочитал, можно сказать проглотил, многое мне было уже известно ибо подобная книга для меня не первая но и тут нашлись очень очень интересные рекомендации, советы и еще масса ждет впереди. От вопросов архитектуры до вопросов создания отдельных переменных.
    В некоторых аспектах я взглянул совершенно по другому на разработку ПО и мне понравилось это.
    Книга местами противоречивая, иногда одни советы противоречат другим, но автор предупреждает сразу что одни вещи хороши в одной ситуации другие в другой.
    И так книга:

    Совершенный код
    Стив Макконнел
    ISBN 978-5-7502-0064-1

    [​IMG]

    Внимание: Еще раз предупреждаю, если вы пишите код из нескольких десятков строк для реализации простой логики для ардуино или просто мелкие сверх короткие вещи и не заморачиваетесь на качестве вашей программы - то эта книга лишь заставит вас зевать и скучать.
     
  2. nailxx

    nailxx Официальный Нерд Администратор

    Классика. Читал в своё время, очень стоящая книга.
     
  3. Festour

    Festour Нерд

    Когда лучше эту книгу читать, во время изучения основ первого языка программирования, или после того как уже накопился некоторый опыт программирования?
     
  4. nailxx

    nailxx Официальный Нерд Администратор

    Мне сложно сказать, т.к. читал я её один раз. Уже тогда, когда несколько лет занимался программированием. Для новичка лишней она точно не будет, но насколько понятной... вопрос.
     
  5. NR55RU

    NR55RU Гик

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

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

    Festour Нерд

    Спасибо за комментарий, я в принципе и сейчас задаюсь вопросом, как лучше писать. Но лучше сначала напишу более менее серьёзную программу и потом начну изучать данную книгу.
     
  7. Lizard_2k1

    Lizard_2k1 Нерд

  8. DMonin

    DMonin Нерд

    Добрый день.

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

    [​IMG]
    Язык программирования C, Брайан Керниган, Деннис Ритчи
    ISBN 978-5-8459-1874-1, 0-13-110362-8; 2013 г.

    Без знания этого догмата будет сложнее.
     
    NR55RU нравится это.
  9. NR55RU

    NR55RU Гик

    В совершенном коке нет упора на какой-либо язык.
    Примеры приводятся на языках: C++, Java, Visual Basic (парочка примеров была на С)
    Но данные языки автором были выбраны лишь как наиболее распатроненные языки, книга ни коем образом не стягивает смысл сказанного к языку, там наоборот продвигается идиома что программировать надо С ПОМОЩЬЮ языка а НЕ НА ЯЗЫКЕ.
    Из чего могу сказать из личного опыта что множество идей почерпнутых в Совершенном коде до селя не приходивших мне в голову, я весьма успешно адаптировал на PHP и Javascript для веб-разработок. Хотя та же PHP это вообще язык сценария но почти половину книги можно с успехом применять в нем для улучшения качества кода.
    Таким образом, предложенная Вами книга весьма любопытна но читать "совершенный код" можно работая на любом языке и как я писал выше лишь тогда когда человек сам ощутит в этом потребность.

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

    P.s. За книгу спасибо, я ее уже заказал, странно что сей основополагающий труд по Си мне не попадался на глаза на полках магазином, прочту как придет.
     
    DMonin нравится это.
  10. DMonin

    DMonin Нерд

    Я немного не правильно выразился.
    Чтение Макконнелла не должно ограничиваться только чтением. Его нужно совмещать с практикой. Это главная мысль. А так, как тут более ортодоксальные программисты я вот и привел пример книги по Си.


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

    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]

    Особенно отметить нужно эту книгу, она больше хранит в себе практических советов, нежели Макконнелл:
    [​IMG]

    P.S.: Приятного чтения :)
     
  11. NR55RU

    NR55RU Гик

    Спасибо за сию выкладку.
    Взял на заметку все.

    А насчет читать и практиковаться, тут не поспоришь, .. теория без практики мертва.
    Но я думаю подобные книги не читают просто вместо детектива на ночь, за такие книги берутся лишь те кто постоянно работает с кодом.
     
  12. DMonin

    DMonin Нерд

    Там большая линейка книг. У них схожее оформление. В общем рекомендую :) Есть даже по рефакторингу верстки HTML.

    В общем, желаю приятного чтения :) И продуктивной практики!
     
  13. NR55RU

    NR55RU Гик

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