Як я можу привести свій C ++ у відповідність до сучасних розробок? [зачинено]


9

Як мені слід оновити деякі дуже іржаві C ++, оскільки я впевнений, що мова та найкращі практики розвинулися? Я усвідомлюю, що це може бути близьким до тематики, тому дозвольте мені уточнити деякі деталі. Близько 10 років тому, я думаю, що я був досить хорошим програмістом на C ++, я пожирав книги Скотта Майєрса, міг вирішувати загадки в рекламних повідомленнях доктора Доббса. Я, певно, був трохи юристом з мови. Я програмував в основному Java, деякий пітон протягом останніх 10 років, тому мої навички OO все ще залишаються на нулі. Але приєднавшись до компанії, де C ++ є загальним, я зрозумів, що я повинен визнати себе, що я і справді іржавий, і зараз є мовні особливості, які або нові, або набагато частіше, ніж я пам’ятаю - такі речі, як простори імен тощо.

Я усвідомлюю, що читання та запис коду (особливо парування) - це хороший спосіб досягти швидкості, але чи є якісь інші ресурси, які люди рекомендують у цьому, щоб дати мені прискорений початок. Книга? Веб-сторінка? Підручники?

Узагальнити:

  • Рекомендації щодо оновлення ресурсів C ++?
  • Не OO / програмування взагалі.
  • Окрім того, що просто читати та писати код.

Відповіді:


10

Якщо ви вже "пожирали книги Скотта Майєрса ", то ви набагато далі, ніж середній хлопець, який робив С ++ 10 років тому (ІМХО). Отримайте 3-е видання «Ефективного C ++» (та Книгу стандартів кодування C ++ від Саттера / Олександреску), щоб отримати коротке оновлення, і, дійсно, ви повинні бути готові до роботи.

Рекомендації в цих книгах (спочатку я думаю, що 2005) є такими ж дійсними сьогодні, як і тоді.

О, і встановіть прискорення, якщо цього ще не зробили.

Вам щастить перезапустити C ++, оскільки я впевнений, що цього року та наступного, коли стандарт C ++ 11 почне влаштовуватись, буде багато ресурсів та книг для перезавантаження.


Відмінні рекомендації. Скотт Мейєрс прийшов до нашої компанії минулого року і дав усім нашим розробникам дводенний курс підвищення кваліфікації на сучасні технології C ++. Він знає, як C ++ працює в реальному світі, і це не просто черговий академік з теоріями.
Карл Білефельдт

2

1) почніть з сучасного компілятора, який має функції c ++ 11 (якщо припустити, що ваша робота потребуватиме цього раніше, якщо ще не)

2) прийміть існуючі програми (можливо, проекти ваших улюбленців) та оновлюйте або розширюйте їх для використання більш сучасних бібліотек (наприклад, стандартних бібліотек c ++ 11 або boost ).

3) читати про новітні функції C ++. є також кількість хороших книг. якщо ви ще не читали Modern C ++ Design , я б рекомендував його. це класика для вдосконалених дизайнів із застосуванням методів c ++, які були представлені та відточені під час вашої відсутності.

це відправна точка.


1

Нік,

Я б запропонував вам долучитися до проекту з відкритим кодом. Ви подивилися на джерело джерела ? Це може стосуватися будь-якої мови, але ключовою перевагою тут є навчання у інших розробників під час участі в програмному проекті. Ви можете підібрати деякі цікаві стилі та використовувати мовні функції, працюючи над проектом з відкритим кодом. Деякі хороші, деякі погані, деякі .... просто дивні :).


4
Можливо, мені просто не пощастило, але проекти з відкритим кодом, які я бачив, містили деякі найжахливіші коди, з якими я коли-небудь стикався - вони можуть бути використані як ідеальні приклади того, як не писати C / C ++. Тож якщо ви вирішите зазирнути у відкритий код заради навчання, я б запропонував вам вибрати проект, в якому бере участь багато програмістів. Такі проекти, швидше за все, мають у них хороший код якості.

1

Зробіть кілька ката-кодів у c ++: башта hanoi, буфер дзвінків тощо. Робити це буде набагато ефективніше, ніж просто читати книги про це - хоча, читання книг допоможе вам вивчити речі, яких ви не знали.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.