开发人员之维护他人项目有感
软件行业人员流动比较频繁,如果你是一个公司的老员工,你常常会有如此经历:一个同事即将离职,领导可能分配你去与之进行工作交接,有时他做过的项目很可能和你做过的有很大差距,没办法领导发话了,你还是要硬着头皮接下来,心中盘算着但愿这个项目的产品在现场运行不要出现什么问题或者用户最好一个新需求都不要提,这样就算是挂个名,也没什么大不了的。 ...
软件行业人员流动比较频繁,如果你是一个公司的老员工,你常常会有如此经历:一个同事即将离职,领导可能分配你去与之进行工作交接,有时他做过的项目很可能和你做过的有很大差距,没办法领导发话了,你还是要硬着头皮接下来,心中盘算着但愿这个项目的产品在现场运行不要出现什么问题或者用户最好一个新需求都不要提,这样就算是挂个名,也没什么大不了的。 ...
晚上饭后抽空看了看如何实现一个内存管理器,涉及内存操作必定少不了指针,恰研究到offsetof这个operator,也看了它的实现,顿有所悟。 ...
前不久参加了一个为期四天的设计模式培训,公司以前组织过很多次设计模式培训,主题多为’Java与设计模式’,自己一直从事C相关的开发,也就不好越界参与这类培训。而这次主题换成了’C++设计模式’,我参加也就名正言顺了。按照人力资源部工作人员的说法这是第一次请老师讲C++与设计模式,这个老师也是第一次给我们公司做培训,因为没有先例,无从知道效果如何,不像以前侯捷来公司培训C++,一般参与的同事都清楚那样的培训收获会很大,毕竟讲师水平很高啊。俗话说:要想能讲出一碗水,那自己首先应该先有一桶水才行。 ...
关于Functions,Bjarne Stroustrup在’The C++ Programming Language’一书中是这么开篇的:‘The typical way of getting something done in a C++ program is to call a function to do it.’;另外他还阐述了一个使用Functions的原则:‘A function cannot be called unless it has been previously declared.’。 ...
Cast也被称为"Explicit Type Conversion",即显式类型转换,在传统C中强制转型(cast)只有一种语法形式(T)e。Bjarne Stroustrup在’The Design and Evolution of C++’(以后称作D&E)一书的14.3小节开始就说了’无论是从语法还是从语义上, Cast都是C++里最难看的特征之一’,所以他要为cast提供A New Cast Notation. ...
C程序员和C++程序员在声明空指针时做法常常是不相同的。 C程序员常常如下做: int *ptr = NULL; C++程序员则是听从Bjarne Stroustrup或者其他C++大师的教诲,坚定地如下做: int *ptr = 0; ...
晚上无意翻看Bjarne Stroustrup的’The C++ Programming Language Special Edition’(英文版)第94页,章节5.4 Constants一节,看到这么一句原文’C++ offers the concept of a user-defined constant, a const, to express the notion that a value doesn’t change directly.‘字眼就在directly上,既然不能directly change,那我试试indirectly change。 ...
Tony : Hi Alex ! you just looks like drowing in your project. what is up? Alex : 我们的项目要求引入单元测试,but i’ve no experience in unit test. Tony : i think cppunit is your best choice. Alex : 是的,我刚从网上把它down了下来,正准备研究它呢。 Tony : Really ? I have done some practice on unit test before. would you like me to join you? Alex : Oh Tony, I’m so glad that you could help me ! Tony : My pleasue ! Alex : 我们从哪里开始呢? Tony : The simplest case! 我们拿一个最简单的例子吧。now we have a class with the name “SimpleCalculator” and it has four basic methods ‘add’, ‘sub’, ‘mul’ and ‘div’, All we should do is to test whether these methods run as same as we expect. First of all , complete the “SimpleCalculator” class, Alex. Alex : It is simple! ...
Tony : Hey Alex, How are you doing? Alex : 不怎么样。(显得很消沉的样子) Tony : Oh , Really ? What is the matter? Alex : 事情是这样的。最近有一个Unix下的C++项目要求我独自完成,以前都是跟着别人做,现在让自己独立完成,还真是不知道该怎么办,就连一个最简单的项目的Makefile都搞不定。昨晚看了一晚上资料也没有什么头绪。唉!! Tony : 别急,我曾经有一段时间研究过一些关于Makefile的东西,也许能帮得上忙,来,我们一起来设计这个项目的Makefile。 Alex : So it is a deal。(一言为定) Tony : 我们现在就开始吧,给我拿把椅子过来。 ...
著名的C++准标准库boost在2004年末发布了1.32.0版本,作为C++的忠实Fans怎能“袖手旁观”,趁闲暇时download it and build it。[注]:由于没有公司Unix服务器的管理员权限,所以只能在自己的Windows平台上编译了。 ...