LINUX.ORG.RU

C++ хороший код

 


0

1

Ребята подскажите! изучаю С++ базовый, там код ну сами знаете,можете подсказать что почитать для улучшения собственного кода?

Что угодно кроме Александреску.

Лучше всего найди работу или влейся в какой-то опенсорц проект.

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

Хорошо на работе перечислили книги Рефакторий, чистый код, совершенный код, мейерс что из этого почитать

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

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

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

Ну с названием разобрались, а приведены советы в книги как? читать можно, или точнее где нибудь пригодились, или кому нибудь?

karpasol
() автор топика
Последнее исправление: karpasol (всего исправлений: 1)
Ответ на: комментарий от xaizek

Вообще-то вопрос об этом, стоит ли читать книги о правилах написано кода,или есть аналоги на с++, типа Мейерса, если вообще он о коде

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

Я все книги Саттера прочитал. В нулевых это было важно. С тех пор C++ продвинулся вперёд, и сейчас я не могу вспомнить более 2-3х советов из его книг. Более того, сам Саттер попытался переделать/переписать/дополнить свои советы с учётом C++11/14/17, но что-то дело не пошло.

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

Об этом и речь, Мейерс (уже отошёл от сообщества ) Александреску(разработал и курирует D) Саттер тоже давно не обновлять а на работе почему-то требуют двух Мартинав которые к С++ вообще дело не имеют

Ещё вопрос стоит-ли читать эккеля философия с++, или лучше Прато и Липпман и элджер дж c++

karpasol
() автор топика
Последнее исправление: karpasol (всего исправлений: 1)
Ответ на: комментарий от karpasol

чтобы был хороший код, надо читать хорошие книжки. Начни с SICP. Ну или начни писать на JS. Чтобы работало. А потом, через пол годика…

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

А смысл js на нём базы данных пишут? Игры пишут? Математический калькулятор особого назначения с переносиймостью пишут?

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

Смысл в том, что на нём быстро пишут мелкое. Ноду в зубы и полетел решать мелочёвку. Через квартал писанины ты уже приобретёшь некий стиль и понимание, что вот так делать не надо. А перенести потом на плюсы - дело десятое.

на нём базы данных пишут? Игры пишут? Математический калькулятор особого назначения с переносиймостью пишут?

Пишут, конечно. А чего не пишут? Или есть беда с калькулятором?

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

А смысл js на нём базы данных пишут

Смысл в том, что на нём пишут. Ты конечно можешь взять ЛИСП, это будет лучше, но на нём не пишут, увы.

no-such-file ★★★★★
()
Ответ на: комментарий от karpasol

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

На самом деле от языка качество зависит скорее на уровне деталей реализации. Можешь прочитать «Дизайн и эволюция языка С++» для общего обзора и C++ Core Guidelines для более свежей информации. Я думаю, это будет самый практичный вариант. А остальные книги можно будет потом.

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

Спасибо за инфу, что ещё посоветуете по плюсам а то план пока такой: страуструп с гусями, липпман с++ базовый, страуструп язык с++, мейерс(несколько книг),Дьюхерст С.С. "C++. Священные знания, совершенный код, c++17 stl янцовский, вандервуд шаблоны с++ справочное руководства.

karpasol
() автор топика
Последнее исправление: karpasol (всего исправлений: 1)
Ответ на: комментарий от Oldboy

Не слушай его. Начиная писать на js в качестве первого языка, можно получить неизлечимый вывих мозга, и потом ничего больше уже не выучишь. Хуже в этом качестве только Java и C# с их OOP в качестве серебряной пули.

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

Гуси больше на справочник похожи, если я правильно помню. «липпман с++ базовый» аналогичная книга, вроде. Можно только одну из них.

Из интересного можно глянуть Inside C++ Object Model Липпмана, чтобы понимать как конструкции языка реализуются. Про STL обычно Джосатисса рекомендуют, Янцовского не читал. Если нужно писать библиотеки, то есть http://www.apibook.com/blog/.

Ещё была «Веревка достаточной длины, чтобы выстрелить себе в ногу» про C и C++, от которой я помню только название и то, что она мне чем-то понравилась. Там что-то среднее между книгами Дьюхерста/Мейерса и Макконелом.

Не про плюсы, но ещё «Идеальный код» запомнилась. Там главы от разных известных авторов про примеры хорошего кода.

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

Откуда такие выводы? Вспомни как в школе преподают. Уроки чередуются. Нет такого, что сначала только физика от начала до конца, потом только химия и потом - биология. Учат всему сразу. Глава из одного учебника, глава из другого. От такого подхода нет такого результата - «ничего и не запомнишь».

fluorite ★★★★★
()
Ответ на: комментарий от no-such-file

Кому надо, те пишут. Сейчас семейство лиспов плотно связано с научной деятельностью, потом haskell и вот это всё. Места плюсам там нет. Его нигде нет, но тсс!

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

Про школу не надо, согласен чередуются только учетиля не очень если без мата, но мы не в школе так почему не выучить так сказать на верника один предмет но хорошо?

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

Ну тогда зачем, а с++ в геймдеве все 3d или С или С++ и тд. Так почему-бы не изучить если на работу можно устроится?

karpasol
() автор топика
Последнее исправление: karpasol (всего исправлений: 1)
Ответ на: комментарий от xaizek

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

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

От такого подхода нет такого результата - «ничего и не запомнишь».

Ага, результат другой: запомнишь, но ненадолго. Кстати, есть книга по теме, где этот момент тоже упоминается.

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

Тут в принципе не будет такой книги, что прочитал и всё знаешь. Единственное, последнее издание 2012 года. В таком случае что-то про новшества может надо будет почитать, если там С++11 не было, но у Мейерса есть. А так должно хватить.

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

для знания базовых знаний

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

Если всё это пустить под откос под фильтр, я имею в виду всю тему, то ты троллишь слабо. Личго мне было бы интересно созерцпть некий пример и половину форума, пытающуюся второй половине что-то доказать…

Oldboy
()

Исходники V8 и других крупных проектов, которые открыты на github. Месяца два повкуриваешь в каком нить ide нормальном, clion к примеру, или xcode, подключишь сборку через llvm/clang, подкрутишь сборки всякие статические новых таргетов типа d8, линковки на разных ос, и будешь гуру не хуже местных

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

Щас кресты так развиваются, что нужно сразу хорошо знать c++17 и выше. Держать руку на пульсе. Всякие await и прочие штуки

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

Щас нет того, чего не пишут на js. Алгоритмы на js не сильно отличаются от c++. А тогда зачем ещё кресты как не для алгоритмических задач? Всё остальное легче и быстрее писать на языках, которые мгновенно стартуют, типо python / js. Даже тот же Go взял в основу - быструю сборку и старт. Потому, что это важно для создания прототипов программ. Очень важно. Написал десять строчек и через пол секунды ты уже просмотрел как изменились данные на мониторе

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

Главная знать базу стандарт всегда подучить можно можно

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

А что есть современные языки без алгоритмов?

Прототип программа как звучит, да когда я начинал прототипом был листок бумаги и карандаш.

А потом сборник мусора у них не вовремя включается а на ++ его ты сам

А можно python/jc/go без ide вообще работать так сказать на чистом железе? (требования работодателя на с и с++)

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

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

Тоже про них насторожило слово лиспов вроде есть такой язык или я не так понял

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

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

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

Ахах. Ну так этому книги по плюсам не научат. Тут надо в Haskell, Smalltalk, LiSP. Потом осторожно пробовать на скриптоте, а уже потом можно и в что-то там на сегодня - LLVM/CLR etc.

Вот там есть интересные личности. Я могу ошибаться, но сейчас веселье идёт, что даже типы в библиотеках (int, double). Где я это слышал?

Oldboy
()
Последнее исправление: Oldboy (всего исправлений: 3)
Ответ на: комментарий от karpasol

А что есть современные языки без алгоритмов?

А что сейчас алгоритмы?

например мне интересно написать игру по ним книги только Ламот и он пишет на ++, если у человека другая цель то он и язык выберет иной

А я вот взял для игры шарпея, не пожалел.

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

хороший качественный говнокод

Исправил

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