大学毕业生中能成为好的程序员绝对不是纯粹考试得高分死记公式拿奖学金的同学 ,而是那些熬夜写代码的狂人,哈哈。
计算机是一门实践科学,你只有不断尝试才能进步。
好像是Linus(虽然他好像有点抵触C++,哈哈),好像是Linus Torvalds在回答一个提问者时说:“请去阅读我的代码”。了解一个实现,发现问题的最好方式还是阅读源代码。代码面前,了无秘密。
当然ACE的代码阅读起来不是一件那么舒心的事情。开发者们采用的是一些非常传统的UNIX习惯,比如对齐方式采用2个空格缩进,单行if语句不用{}包含,稍显奇特的inc文件方式,另外,为了支持跨平台特性,ACE的代码用了大量的宏。这都无疑增加了阅读的难度。不过总体说了,ACE的代码比较起Linux内核代码和很多其他类库的代码还是好的多,至少注释很清晰,而且Doxgen生产的文档很酷,也够用。
由于ACE是一个跨平台实现。如果你了解平台的实现。不光你阅读代码的速度会快很多,也会让你对实现的困惑就会越少,让你的代码避开效率的陷阱,你的实现就会越高效。
不需要OO的封装,不用美妙的设计模式,没有对效率的执着追求,没有惊艳的范化设计,用C++干什么?但没有这些信仰,也就不会有ACE,而且没有这些信仰要程序员做什么?
在ACE的使用过程中,发现ACE的主要问题出在一些高阶实现上。所以如果你要使用高阶特性最好能了解背后的实现。
多用ACE,将发现的问题反馈给ACE的开发者和ACE社区。
笔名:雁渡寒潭([email protected])
曾星 腾讯公司互动娱乐后台开发程序员,目前从事游戏后台设计开发
个人兴趣范围:大规模分布系统的架构设计,高容量,大压力的服务器设计;跨平台开发;数据库的设计,原理和调优;多核(CPU)环境下的程序设计;OO和设计模式;C++和STL以及模板,ACE。欢迎大家交流。
表3 参考的文档
参考书目 |
作者/译者 |
说明 |
《C++ Network Programming Volume 1_Mastering Complexity With ACE and Patterns》 |
Douglas C. Schmidt, Stephen D. Huston |
很多问题在这本书的副栏都有描述,如果你看的很认真,也许不会想我这样碰暗礁。 |
《C++网络编程卷1:运用ACE和模式消除复杂性》 |
於春景 |
|
《C++ Network Programming Volume 2 - Systematic Reuse with ACE and Frameworks》 |
Douglas C. Schmidt, Stephen D. Huston |
很多问题在这本书的副栏都有描述,如果你看的很认真,也许不会想我这样碰暗礁。 |
《C++网络编程,卷2,基于ACE和框架的系统化复用》 |
马维达 |
|
《The.ACE.Programmers.Guide》 |
Stephen D. Huston, James CE Johnson, Umar Syyid |
|
《ACE程序员指南》 |
马维达 |
|
《ACE自适配通信环境中文技术文档》 |
马维达 |
|
ACE html |
ACE用Doxgen自动生成的文档 |
|
此文档是耗费两年时间总结一些自己在使用ACE的7年中发现的一些问题,在凑够了20个标题后才进行发布。后面也许会根据自己的一些新的发现修正补充一下文档,也许。
本着自由的精神,阅读者可以无须授权就可以自由的转载这个文档,我只保留作者的署名权利,也就是说,你转载只需保留这段说明和文档的完整性(但你不能修改这个文档,谢谢)。
这篇文档也是为了回馈一下这些年来为自由软件奋斗的人,也谢谢周围陪我一起玩ACE 的Rong,Sonicmao,Awayfang等兄弟们。最后感谢一下Annie,她忍受了我整理文档而不陪她看电视。