作为一名程序员进行开发

发布于 2024-07-10 00:58:33 字数 168 浏览 5 评论 0原文

我现在已经学习 C++ 三个月了,期间为我的公司创建了许多应用程序。 我认为自己对 C++ / MFC 和 STL 相当熟悉,但是我不仅仅想成为一名好的程序员,我想成为一名优秀的程序员。 我有几本关于最佳实践的书,但我想知道是否有人可以建议对他们有帮助的阅读材料以及任何应该鼓励的学科?

谢谢!

I have been learning C++ for three months now and in that time created a number of applications for my company. I consider myself fairly comfortable with C++ / MFC and STL, however I don't just want to be an OK programmer, I want to be a good programmer. I have a few books on best practices but I was wondering if anyone could suggest reading materials that helped them and any disciplines which should be encouraged?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(18

明明#如月 2024-07-17 00:58:33

对于 C++,Scott Meyers 的书非常好,将帮助您进入新的水平。

如果您还没有Bjarne Stroustrup 的 C++,第三版

For C++, Scott Meyers books are very good, and will help take you to the next level.

If you don't already have it C++ by Bjarne Stroustrup, 3rd Edition

晨光如昨 2024-07-17 00:58:33

学习 C++ 3 个月了,您已经熟悉它了吗? 天哪,我学习 c# 已经一年多了,并且参加了许多 Microsoft 课程,但我对此还不太适应。

话虽这么说,您会听到 Code Complete 被认为是一个非常好的书。 我现在正在阅读它。

3 months into c++ and you're already comfortable with it? Sheesh, I've been learning c# for over a year and have taken numerous Microsoft courses and I'm nowhere near comfortable with it.

That being said, you'll hear Code Complete tossed about as a very good book. I'm in the process of reading it now.

↙厌世 2024-07-17 00:58:33
你的呼吸 2024-07-17 00:58:33

John Lakos 的《大规模 C++ 软件设计》提供了有关设计方法的指导,使您的 C++ 更易于维护。 它相当重,但您可以浸入其中并仍然获得一些好处。

Large Scale C++ Software Design by John Lakos gives guidance on design methods that will make your C++ more maintainable. It is pretty hefty but you can dip in and still get some benefits.

挽容 2024-07-17 00:58:33

有点偏离主题:我不想建议学习书籍,而是想提一些需要考虑的广泛主题。

  • 线程化。 如果您使用MFC,这一点的需求并不大,但在许多其他领域它是必不可少的。 线程 API 的机制很容易掌握,但学习所有极端情况需要大量时间和练习。

  • 闭包、Map-Reduce 和其他类似 lisp 的技术。 了解它们是什么、为什么它们在 C++ 中不受支持,以及它们在 C++ 中是如何被模仿的(函子以及有状态回调对象的许多其他情况)。 为此,我实际上有一本书:“计算机程序的结构和解释”。

  • 命令行。 这让您了解何时不编写自己的程序。 命令行将是 Unix 命令行 - 我不知道 MS 在这方面的最新实验,但 cmd.exe 很糟糕。 获取 Cygwin 并开始试验。

  • 脚本语言。 这让您了解什么时候不用 C++ 编程。 我最喜欢的是 Perl,但很多人说 Python、Ruby 等等。 嘿,如果您愿意的话,请学习 XSLT!

我确信我遗漏了其他领域。 我会将其标记为社区 Wiki - 请随意添加。

Somewhat off-topic: rather than suggesting books to learn, I'd like to mention some broad topics to consider.

  • Threading. This one is not much in demand if you use MFC, but in many other areas it's indispensable. The mechanics of threading APIs are easy to pick up, but learning all the corner cases takes a lot of time and practice.

  • Closures, Map-Reduce and other lisp-like techniques. Find out what they are, why they are not supported in C++, and how they are imitated in C++ (functors, and many other cases of stateful callback objects). For this I actually have a book: "Structure and Interpretation of Computer Programs".

  • Command Line. This gives you an idea on when not to code your own programs. Command line would be Unix command line - I don't know about MS's latest experimentation in this are, but cmd.exe is awful. Get Cygwin and start experimenting.

  • Scripting languages. This gives you an idea on when not program in C++. My favorite is Perl, but many people say Python, Ruby and whatnot. Hey, learn XSLT if you're so inclined!

I am sure I left out other areas. I'll mark this as Community Wiki - feel free to add.

无畏 2024-07-17 00:58:33

好的博客:
本周大师,以及 赫伯·萨特的所有书籍。 这些已经给你带来了很多需要咀嚼的东西。

如果您想深入了解 Alexandrescu 的现代 C++ 设计,还不知道,也可能不想知道。

Code Kata 用于练习!

Good blogs:
Guru of the Week, and all the books by Herb Sutter. Those will give you quite a lot to chew already.

Modern C++ Design by Alexandrescu if you want to get a good feel for what you don't yet know, and probably don't want to know.

Code Kata's for practice!

花伊自在美 2024-07-17 00:58:33

我在 VB.net 上读过几本 oreilly 的书籍(不是完整的,而是一些部分),它们非常好,但是如果你想成为专业人士并且有时间......
您可以尝试MSDN论坛,帮助其他人并与他们讨论困难和复杂的问题,我认为这是最好的方法..

I have read several (not complete but some parts) of oreilly books on VB.net they are quite good, but if you want to be pro and have the time...
You can try out MSDN forums, help other people and discuss with them hard and complex problems, I think it's the best way..

哀由 2024-07-17 00:58:33

学习另一种语言。 即使您不会使用它,它也非常有助于开拓思维。

我建议使用 Lua、Scheme 和 Python。 但几乎任何其他事情都可以。 (与C最不同的,最好的)

learn another language. even if you won't use it, it's great for mind-opening.

I'd advice Lua, Scheme and Python. but almost anything else would do. (the most different from C, the best)

梦幻之岛 2024-07-17 00:58:33

Josuttis 和 Vandevoorde - 模板:完整指南

Josuttis and Vandevoorde - Templates: The Complete Guide

∝单色的世界 2024-07-17 00:58:33

据我所知,没有人提到 Bruce Eckel 的精彩著作“Thinking in C++”。 恕我直言,这是开始 C++ 开发的最佳书籍之一。 从我的角度来看,第一卷比第二卷更有帮助,但两者都值得一读。
http://www.amazon.com/Thinking-C-Introduction-Standard-One/ dp/0139798099/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1227890306&sr=8-1

As I see, nobody mentioned Bruce Eckel brilliant books "Thinking in C++". IMHO, it`s one of the best books to start your C++ development from. From my point of view, first volume is more helpful that the second, but both of them worth reading.
http://www.amazon.com/Thinking-C-Introduction-Standard-One/dp/0139798099/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1227890306&sr=8-1

羁〃客ぐ 2024-07-17 00:58:33

我很多人都可以推荐更现代、最新的书籍。 但我仍然推荐 The Annotated C++ Reference Manual 作者:Margaret A. Ellis & 比亚恩·斯特鲁斯特鲁普。

ARM 早在 90 年代就发布了。 就模板而言,它已经有些过时了。 STL(显然)不存在。 (尽管 sgi.com 网站在涵盖 STL 方面做得很好!

但是,ARM 非常便宜(二手)。 (运费将超过这本书的成本。)它的信噪比仍然超出标准。 它非常擅长挖掘 C++ 的肮脏区域,解释做了什么以及做了什么。 为什么。

我仍然用它作为参考。 我将其排名为 K&R

I lot of folks can suggest more modern, up-to-date books. But I still recommend The Annotated C++ Reference Manual by Margaret A. Ellis & Bjarne Stroustrup.

The ARM was published back in '90. It's become somewhat outdated with respect to templates. STL is (obviously) absent. (Though the website at sgi.com does a good job of covering STL!)

However, the ARM is dirt cheap (used). (Shipping will exceed the cost of the book.) Its signal-to-noise ratio remains off the scale. It's very good at digging into C++'s dirty areas, explaining what was done & why.

I still use it as a reference. I rank it up there with K&R.

献世佛 2024-07-17 00:58:33

Dietel/Dietel“如何进行 C++ 编程”...我的桌子上仍然放着这本书(10 年前)...我时不时地重读一章。
正如其他人所建议的那样,我肯定会获得完整的代码。 事实上,先读一下。

Dietel/Dietel "How to program C++"... I still have this book on my desk (10 years in).. Every once and a while I re-read a chapter.
I'd definatly get the Code Complete, as other have suggested. Infact read that first.

我的鱼塘能养鲲 2024-07-17 00:58:33

为了更好地理解面向对象,请花一些时间参加 Smalltalk。 Squeak 是免费下载的。 然后阅读 Richard P. Gabriel 的《软件模式》,然后阅读他的《对象失败》。

To get a better understanding of object orientation, spend some time in a Smalltalk. Squeak is a free download. Then read Richard P. Gabriel's Patterns of Software and thereafter his Objects have Failed.

っ左 2024-07-17 00:58:33

用 C++ 思考 - Bruce Eckel
Symfonia C++ 标准 - Jerzy Grębosz

Thinking in C++ - Bruce Eckel
Symfonia C++ Standard - Jerzy Grębosz

别低头,皇冠会掉 2024-07-17 00:58:33

如果你什么都不做,那就编程吧。

当你不这样做时,请阅读有关编程的内容,当某些事情让你觉得有趣时,就用这些知识来实现​​一些东西。 我发现这是真正设定原则的唯一方法。

在博客上保持最新状态可能很有趣,但它是零散的知识。 它似乎分散注意力而不是提供帮助。 但结合谷歌和研究特定事物的愿望,确实可以得到大量信息。 但不要只是订阅大量的 RSS 提要并期望变得更好。

我认为真正学习特定主题有助于扩展你的能力。 研究你感兴趣的主题,结识像你一样做事的人(会议、用户组、irc、facebook、stackoverflow 等),最重要的是练习你的艺术。

If you do nothing else, program.

When you are not doing that read about programming and when something strikes you as interesting, go implement something with that knowledge. I've found that this is the only way to really set the principals.

Staying up to date on blogs can be fun, but it is scattered knowledge. It seems to distract more than help. But combined with google and a desire to research something specific can really cough up tons of information. But dont' just subscribe to alot of rss feeds and expect to get better.

I think really studying specific topics helps expand your ability. Research topics that intrigue you, meet people doing things like you (conferences, user groups, irc, facebook, stackoverflow, etc) and above all practice your art.

或十年 2024-07-17 00:58:33

您可以查看 Boost 库和一些有关它的书籍。 虽然这可能不是您想到的,但在我看来,Boost 库是精心设计的现代 C++ 库的示例,它们以几乎应该用于创建最有效解决方案的方式使用该语言的功能。他们的问题领域。 当然,有一些奇怪的库,例如预处理器和 MPL,这会让您怀疑是否会用到它们,但它们都非常好。 根据我自己的经验,探索该库及其文献让我深入了解了如何有效地使用 C++。

提升
超越 C++ 标准库:Boost 简介

You can check out the Boost library and a number of the books written about it. While this may not have been what you had in mind, IMO, the Boost libraries are examples of well-designed modern C++ libraries that use the features of the language in pretty much the way they should be used to create among the most effective solutions for their problem domain. Granted of course, there are bizarre libraries like preprocessor and MPL which make you wonder if you'll ever have any use for them, but they're all round quite good. From my own experience, exploring the library and its literature has given me insight into how C++ can be used effectively.

Boost
Beyond the C++ Standard Library: An Introduction to Boost

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文