`
varsoft
  • 浏览: 2508233 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

《Exceptional C++ Style》译序[已出版]

阅读更多

Exceptional C++ Style》译序

by 刘未鹏

逍遥派武功讲究轻灵飘逸,闲雅清隽,丁春秋和虚竹这一交上手,但见一个童颜白发,宛如神仙,一个僧袖飘飘,冷若御风。两人都是一沾即走,当真便似一对花间蝴蝶,蹁跹不定,于这“逍遥”二字发挥到了淋漓尽致。旁观群雄于这逍遥派的武功大都从未见过,一个个看得心旷神怡,均想:“这二人招招凶险,攻向敌人要害,偏生姿式却如此优雅美观,直如舞蹈。这般举重若轻、潇洒如意的掌法,我可从来没见过...

—— 金庸 《天龙八部》

金庸小说中描绘的逍遥派武功讲究的是飘逸灵动,然则绝非片面追求招式漂亮,招招看起来都优雅美观,但招招都攻往要害。

写代码也如此。

毫无疑问,代码的目的是实现既定的功能,所以实用论者可能会说代码只需实现既定功能即可,无需费时费事去搞那么多周折弄那么多形式。但问题是,如果代码写完了就永远不用管它就好了,如果的确如此的话,这番论断倒是言之有理的。然而事实是,代码的维护占用了软件开发中的大部分乃至绝大部分时间和人力。譬如说做外包业务的公司大部分时间都是在维护代码,或者说改代码,而不是原生开发,这便意味着买来的代码的形式“漂亮”与否直接关系到一个项目的开销。另外,一般的公司,就算是作坊公司,日积月累,也一定会有自己的代码库,自己的遗留代码,只要他们想节省开销,复用以前写成的代码是必由之路,因此这里代码的可读性,代码结构的可扩展性等等就变得异常重要了,有过一些经验的程序员都会说维护别人(甚至自己)的代码是最痛苦的事情可见代码的“形式”构成了软件质量的一个重要部分。无论如何,就像政治书上听得我们耳朵都起茧子的那句话所言:“内容决定形式,但形式对内容也有反作用”。

然而徒有其表的代码也只是个花架子,没有真材实料,再花哨的形式也无济于事。软件归根到底要的还是功能。这就好比练武,光有花拳绣腿而没有扎实的内功是万万成不了气候的。

那么,在软件开发领域,这两者到底矛不矛盾呢?答案是根本不矛盾。之所以我们平时无法鱼和熊掌兼得,一方面固然是由于deadline的缘故,另一方面也与编码时的方法学有一定关系。

本书讨论的正是后者。

正是由于C++是一门非常自由的语言,因此C++编码的“形式”才变得异常重要,以至于一些大公司都规定了各自的编码标准。本书正是着眼于C++编码风格的一本书,但这里所谓的编码风格并非指命名风格、注释风格之类的浅显的东西,而是指在某些特定的问题领域所采取的编码方式(或“形式”)。C++中往往有若干条道路都能通往同一个终点,问题是选择哪条道路才是最具有洞见性的,最能达到形式和内容的统一,这一点很关键。

为此,本书的40个条款围绕C++日常编码中的种种问题展开讨论,详细考察各解决方案之间的优劣,最终给出权衡之下最为妥帖的方案并将其提炼为一条条的编码方针。

武侠小说的读者大多数都希望看到招式漂亮而又非常厉害的武功,觉着很过瘾。殊不知维护代码的程序员何尝不希望看到写得漂亮而又有实在功能的代码呢?

相信你在Sutter的书中能够找到一些答案。

最后,感谢老朋友谢轩和罗翼,跟他们讨论问题是我的快乐,谢轩(《Symbian OS Explained》译者)提供了第34章(原样章)的译稿、罗翼则无偿帮我初译了第六部分,他们的热情给了我莫大的帮助,他们的技术和文笔也让我获益颇多

感谢父母一直以来的支持,令我不敢懈怠。

刘未鹏

0510

于南京

分享到:
评论

相关推荐

    Exceptional C++ Style中文版

    根据提供的标题“Exceptional C++ Style中文版”及其描述,我们可以推断这本书主要涉及C++编程语言中的高级和实用技巧,旨在帮助读者更好地理解和运用C++。虽然给出的部分内容并没有实质性的信息,但从书名来看,...

    Exceptional C++ Style(chm和pdf)

    Exceptional C++ Style: New Engineering Puzzles, Programming Problems, and Solutions,英文版。C++ In-Depth系列丛书之一,C++程序员必看。包含chm版和从其转换成的pdf版。

    exceptional C++ style 英文版 chm, pdf 和 中文版 pdf 合集

    Exceptional C++ Style: New Engineering Puzzles, Programming Problems, and Solutions 英文版 chm, pdf 和 中文版 pdf 合集

    Exceptional C++ Style

    《Exceptional C++ Style》是一本专注于C++编程风格和技术深度的书籍,旨在提升程序员对C++语言的理解和使用水平。书中的内容包含了新的工程谜题、编程问题以及解决方案,帮助读者深入理解C++的精髓。 作者在前言中...

    Exceptional.C++.Style

    Exceptional.C++.Style

    Exceptional C++(中文版)和More Exceptional C++(中、英文版)

    《Exceptional C++》与《More Exceptional C++》是两本由Stanley B. Lippman编著的关于C++编程技术的经典书籍,旨在帮助程序员深入理解和掌握C++的高级特性,提升代码质量,避免常见陷阱。中文版的《Exceptional C++...

    Exceptional C++ style 学习笔记

    《Exceptional C++ Style》是Stanley B. Lippman的经典之作,这本书深入探讨了C++编程中的高级技术和最佳实践,旨在帮助开发者写出更高效、更安全、更优雅的代码。学习笔记则将书中的核心观点和关键知识点进行了提炼...

    exceptional c++ 与 more exceptional c++ 英文版

    《Exceptional C++》与《More Exceptional C++》是由著名C++专家Stanley B. Lippman编著的两本经典著作,旨在帮助程序员深入理解C++语言的细节和陷阱,提升编程技能,实现更高效、更健壮的代码。这两本书在C++社区中...

    Exceptional C++ & More Exceptional C++

    《Exceptional C++》与《More Exceptional C++》是由Stanley B. Lippman编写的两本关于C++编程的权威著作。这两本书旨在帮助读者深入理解C++语言的高级特性和最佳实践,提高代码质量和效率。以下是这两本书涵盖的...

    exceptional c++ 下载地址

    exceptional c++ 下载地址 exceptional c++ 下载地址exceptional c++ 下载地址 exceptional c++ 下载地址 exceptional c++ 下载地址 exceptional c++ 下载地址 exceptional c++ 下载地址

    exceptional & more exceptional C++.zip

    《Exceptional C++》与《More Exceptional C++》是C++编程领域的经典之作,由知名C++专家Stanley B. Lippman所著。这两本书深入探讨了C++编程中的高级主题,旨在帮助读者提升对C++语言的深度理解和实践能力。 ...

    Exceptional C++ (简体中文版).pdf

    从给定的文件信息来看,这是一本名为《Exceptional C++》的简体中文版书籍,主要聚焦于C++编程中的异常处理和高级技术。虽然提供的内容部分并不清晰,但我们可以根据标题、描述和标签推测出这本书的核心知识点。下面...

    Exceptional+C+++Style

    关于C++程序设计的好书,大师级人物的作品

    Exceptional C++ 中英文版

    3. "Exceptional C++ Style中文版.pdf" - 这是《Exceptional C++ Style》的中文翻译版本,对于中文读者来说,这是一个很好的学习资源。 4. "More Exceptional c++.pdf" - 这可能是《More Exceptional C++》的PDF版,...

    Exceptional C++(中文版).侯捷.pdf

    从给定的文件信息“Exceptional C++(中文版).侯捷.pdf”中,我们可以提炼出一系列关于C++编程语言的高级概念和技术要点。《Exceptional C++》是一本由董宏业(英文名:David S. Abrahams)所著,由侯捷翻译成中文的...

    Exceptional C++(pdf)

    《Exceptional C++》是C++编程领域的一本经典之作,由知名软件设计大师Stanley B. Lippman所著。这本书深入探讨了C++语言中的高级特性和陷阱,旨在帮助程序员写出更高效、更安全、更易于维护的代码。通过对书中知识...

    exceptional c++:47个c++工程难题、编程问题和解决方案(英文版)

    《exceptional c++:47个c++工程难题、编程问题和解决方案(中文版)》讲述如何用标准c++进行企业级的软件开发,通过“问题/解答”的方式,启发读者思考,帮助了解隐藏在问题背后的设计思想,以及各种编程指导原则适用...

Global site tag (gtag.js) - Google Analytics