电子书《有关编程、重构及其他的终极问题?》的翻译

电子书《有关编程、重构及其他的终极问题?》的翻译

标签(空格分隔): 翻译 技术 C/C++
作者:Andrey Karpov
翻译者:顾笑群 - Rafael Gu
校验者:高国栋
最后更新:2016年11月5日


说明:

一天,一位我并不认识的俄罗斯姑娘联系我,问我是否愿意把一些有关编程的文章编程成中文,并且在中国推广,我说先看看大概是什么文章再说,她就给我发了一个链接,我发现是一些C/C++等语言如何避免bug,如何高效编程的系统整理后的长文,就觉得每周翻译一些的这样的英文编程文章也还不错,就同意了。她问我翻译的酬劳是多少,我说随他们给——其实我的态度是:每个周末休息时翻译些有趣的技术文章也应该不错,有酬劳更好,没有也没有关系。

原电子书的标题是《The Ultimate Question of Programming, Refactoring, and Everything》,

我会每个周末根据时间翻译几节,直到全部翻译完成。大家在下面可以看到的书的目录,凡是有链接且用中文描述的条目的就是已经翻译完成的,点击就可进入对应的小节。如果大家等不及我完全翻译完,可以直接去看 http://www.viva64.com/en/b/0391 )。

我习惯使用使用Emacs Keys,所以使用了Cmd Markdown的Emacs模式写下翻译的文字,然后把导出的md文件导入到CSDN博客的markdown编辑器里发布(我的CSDN博客地址是:http://blog.csdn.net/headman )。

大家如果在阅读中发现任何翻译或其他问题,可以给我发邮件:shoutrain_goo@aliyun.com。

最后,欢迎大家转载,但请附上原作者以及翻译者的名字、原文出处,以尊重光荣的劳动者。


简单介绍

这本书本身是针对C/C++程序员的,但其实对其他语言也一样有效。

这本书的特别之处在于,书中的例子都基于实例而不是理论。书中每个小节的都以一段从实际项目中提炼出来的有bug的代码,然后作者会通过不同角度分析如何避免这些bug。整本书所针对的问题以及解决方式,可以帮助读者提高个人在团队内的编码风格和编程规范。

这本书覆盖了42个主题(详见下面的目录),尽管每个主题的标题很简单,但其对应bug的发现和解决是多种多样的。另外,每个主题还给出了相关的有趣资料链接,可以让读者得到和主题相关颈详细的信息。在这个目录后面,还有更多对标题所谓“终极问题”的简单回答,内容介绍和作者介绍,不要错过


目录

前言

  1. 别把编译器的事给做了
  2. 比0大的并不意味着就只是1
  3. 复制一次,检查两次
  4. 小心–操作符,请把表达式放在括号中
  5. 使用工具去分析你的代码
  6. 当把一个指针明确的转换为整型时,请检查所有相关代码
  7. 不要在循环中调用alloca()函数
  8. 记住:析构函数中的异常是危险的
  9. 使用’-0’符号作为结尾标记
  10. 避免使用多个小的#ifdef块
  11. 不要试图把尽量多的操作符放到一行代码里
  12. 当使用拷贝黏贴,一定要特别注意最后一行
  13. 表格化的格式化
  14. 一个好的编译器和代码风格还不够
  15. 在你的代码中开始使用enum class吧
  16. 在编程过程中“装逼”是不可接受的
  17. 使用专门的函数清除专有数据
  18. 你在一个语言上积累的经验和知识不总是适用于另外一门语言
  19. 如何合理的从一个构造函数中调用另外一个构造函数
  20. 光对文件做EOF检查可能还不够
  21. 正确的检查文件的结尾符(EOF)
  22. 不要使用#pragram warning(default-X)
  23. 自动获取字符串的长度
  24. override和final关键字应该成为你的新朋友
  25. 不要再用this指针和nullptr比较了
  26. 潜伏的VARIANT_BOOL
  27. 狡猾的BSTR字符串
  28. 如果你可以使用简单的函数就不要使用宏
  29. 在迭代器上请使用前置自增操作符(++i),不要使用后置自增操作符(i++)
  30. Visual C++和wprintf()函数
  31. 在C/C++中数组不是值传递的
  32. 危险的printf
  33. 永远不要非法引用空指针
  34. 容易被你忽视的未定义行为
  35. 给enum新增常量后不要忘了修改对应的switch操作
  36. 如果你在电脑上发现一些奇怪的事情,看看内存吧
  37. 注意在do {…} while (…)中的continue
  38. 从今以后使用nullptr而非NULL
  39. 为何不正确的代码可以工作
  40. 开始使用静态代码分析
  41. 尽量避免在项目中增加不必要的新库
  42. 不要使用“empty”作为函数名
    尾声

更多介绍

是的,你猜得对——答案就是“42”。在这本书中,你会发现42个关于C++编程的好建议,都是关于如何帮助一名程序员避免许多错误,节省开发时间,提高开发效率的。这本书的作者是Andrey Karpov,也是‘Program Verification System’研发团队的技术总监,我们这个团队主要负责PVS-Studio静态代码分析器的研发。在经历过大量的开源项目后,我们已经找到了很多规则来让你的编程更厉害,我们也准备把这些规则分享出来。每条规则都辅以一些经过历练的的代码示例。这些规则不光对C/C++程序员有帮助,大家知道编程思想是相通的,所以其他语言的程序员也会受益于此。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值