LINUX.ORG.RU

Написал небольшую книгу для C/C++ программистов

 , , , ,


13

8

Здравствуйте. Меня зовут Андрей Карпов. Сфера моих интересов - язык C/C++ и продвижение методологии статического анализа кода. На протяжении пяти лет я являюсь Microsoft MVP в номинации Visual C++. Основная цель моих статей и работы, сделать код программ немножко безопасней и качественней. Буду рад, если эта мини-книга научит вас писать более надежный код и предостережет от некоторых типовых ошибок. Немало полезного здесь можно будет почерпнуть и тем, кто занимается написанием стандартов кодирования для своих компаний.

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

UPD: PDF-версия: https://yadi.sk/i/RCHauHFBr2cSs

P.S. Пользуясь случаем приглашаю всех желающих последовать за мной в Twitter: @Code_Analysis.

>>> Главный вопрос программирования, рефакторинга и всего такого



Проверено: beastie ()
Последнее исправление: Aceler (всего исправлений: 3)

На протяжении пяти лет я являюсь Microsoft MVP в номинации Visual C++

Товарищи, которые шарят в этих делах, стоит уже кричать ВАУ!? Этот самый MVP, что это такое? Master Visual Plus?

Kompilainenn ★★★★★
()
Ответ на: комментарий от Kompilainenn

Этот самый MVP, что это такое?

MVP (англ. Most Valuable Professional - рус. Наиболее ценный специалист) - это лидеры технических сообществ, которые продемонстрировали образцовую готовность помочь другим извлекать максимальную отдачу от использования технологий Microsoft. Они с энтузиазмом делятся своими практическими навыками и техническими знаниями с сообществом.

Andrey_Karpov_2009
() автор топика

сделать код программ немножко безопасней

я, как немножко программист, вас понимаю

gray ★★★★★
()
Ответ на: комментарий от Andrey_Karpov_2009

Microsoft MVP
помочь другим извлекать максимальную отдачу от использования технологий Microsoft

Причем здесь linux?

Deleted
()
Ответ на: комментарий от Deleted

Причем здесь linux?

Спросили, что такое MVP - я ответил. А новость вообще об ином. Предлагаю почитать мини-книгу и давайте поболтаем на программистские темы. Это интереснее.

Andrey_Karpov_2009
() автор топика

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

Deleted
()
Ответ на: комментарий от spec_po_kiskam

Написано же:

Сайт просуществует какое-то время, после чего уйдет в небытие.

Т.е. видно уже.

Deleted
()
Ответ на: комментарий от Deleted

ЛОР-еффект. Подумав пару минут линк таки открылся. Полистал — там в самом деле дельные советы.

Andrey_Karpov_2009 правьте сайт или выложите куда-нибудь в более отказоустойчивое место. ;)

Failed to connect to http://www.viva64.com port 80: Connection refused
beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от spec_po_kiskam

Спасибо, но сайт у вас недоступен.

«Эффект демонстрации». Сайт упал. Перезагружаем. Прошу немного терпения и вновь попробовать его посетить.

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от Deleted

Сайт просуществует какое-то время, после чего уйдет в небытие.

Т.е. видно уже.

Про закрытие имелся в виду сайт cpphints. А наш просто сейчас упал. Подождите.

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от spec_po_kiskam

А новость о чем тогда? «Я написал книгу, но вам ее не дам»?

Зато какая интрига! :)

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от cipher

Давайте. С/С++ не нужен, устарел и калечит ноги.

Но большинство серьезных проектов пишется именно на С++. Так что никуда вы с подводной ложки не денетесь. Proof: http://www.stroustrup.com/applications.html

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от beastie

выложите куда-нибудь в более отказоустойчивое место

Эх. Это уже 3 хостинг. Не везет нам с хостерами. Ну или мы не доросли до каких-то совсем дорогих и волшебных вариантов.

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от Andrey_Karpov_2009

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

огого! Вот это вброс! Годный вброс, очень даже. Чувак пришел на линуксовый ресурс помогать прогерам извлекать отдачу от технологий МС....жесть какая

Kompilainenn ★★★★★
()
Ответ на: комментарий от Kompilainenn

Чувак пришел на линуксовый ресурс помогать прогерам извлекать отдачу от технологий МС

Насколько мне известно, такая технология, как MS Core fonts, например, оказалась полезна многим линуксоидам.

hobbit ★★★★★
()

Спасибо за труд, книжку было бы интересно увидеть, например, в epub или PDF формате. Раз уж она бесплатная и распространяется свободно. И выложить куда-нибудь в отказоустойчивое место.

EXL ★★★★★
()
Ответ на: комментарий от Xenon

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

Кажется, сайт поднялся. Милости просим. Приношу извинение за накладку.

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от Kompilainenn

огого! Вот это вброс! Годный вброс, очень даже. Чувак пришел на линуксовый ресурс помогать прогерам извлекать отдачу от технологий МС....жесть какая

На самом деле текст связан с MS очень слабо, и будет одинаково полезен C++ программистам, работающим как в Windows, так и Linux. За редким исключением, рассматриваемые темы универсальны.

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от Harald

Хейтеры C++ не могут тонко. Специфика такая. Возрастная.

EXL ★★★★★
()
Ответ на: комментарий от Andrey_Karpov_2009

Выложите на мегу, на яндекс.диск, на OneDrive в конце концов?

Aceler ★★★★★
()

Если что, то в РФ и на постсоветском пространстве широко распространён формат fb2. Книжки в html как-то немного дурной тон.

Displacer ★★
()
Ответ на: комментарий от grem

Спасибо. Книга в виде PDF-файла ожидается?

Пока не хотел делать и выкладывать PDF-файл, так как возможно ещё будут исправляться какие-то ошибки и ляпы. Но поскольку сайт ведёт себя нестабильно, изготовил PDF: https://yadi.sk/i/AcAZqdhkqzTff

Тем не менее, прошу не ссылаться на PDF-файл, а отправлять друзьям/коллегам ссылку на сайт.

Andrey_Karpov_2009
() автор топика

Круто, спасибо! Я ни разу не C++ программист, но хорошо написанный материал в свободном виде всегда полезен.

unlog1c ★★★
()
Ответ на: комментарий от Andrey_Karpov_2009

Не везет нам с хостерами. Ну или мы не доросли до каких-то совсем дорогих и волшебных вариантов.

Закупайте выделенный сервак, учитесь на RHCE и дело в шляпе :-)

Aceler ★★★★★
()
Ответ на: комментарий от Displacer

Если что, то в РФ и на постсоветском пространстве широко распространён формат fb2. Книжки в html как-то немного дурной тон.

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

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от Kompilainenn

Дык сейчас под Windows можно писать и запускать линуксовые приложения из коробки. Что тут такого?

Ghostwolf ★★★★★
()

Благодарю. Встретились интересные сведения, пусть и про оффтопик

XMs ★★★★★
()

29, раздел «Рекомендации»:

е, кто скажут: «Ну и что?

Поправьте, хотя это и не критично.

knovich
()

1. Не берите на себя работу компилятора

Сложно профилировать такой примитивный код. Но с clang и -fno-inline, valgrind говорит, что Ваш вариант с циклом, на 60% медленнее.

Да, разворачивание циклов - это усложнение, но если стоит вопрос производительности, то ручной вариант зачастую лучше.

RazrFalcon ★★★★★
()
Ответ на: комментарий от Hasek

Спасибо, почитаю на досуге. Надеюсь, оно не MS VS специфично, а в общем?..

Можете смело читать. Про Win там очень мало.

Andrey_Karpov_2009
() автор топика

скажите пожалста, а Карпов, который был деканом факультета кибернетики в ТулГУ, вам случаем родственником не приходится?

Harald ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.