《构建之法》阅读第四章、第十七章收获

第四章 两人合作

问题:

1.《构建之法》P76页4.3.4如何处理c++中的类 4.数据成员(2)不使用公共的数据成员,要用inline访问函数,这样可以兼顾封装和效率。

答:

刚开始不是很懂这个描述的意思,于是在博客上查了一下,https://blog.csdn.net/bruce_0712/article/details/56682815

成员函数可以访问本类中任何成员(包括私有的和公用的),可以引用在本作用域中有效的数据。

一般的做法是将需要被外界调用的成员函数指定为public,它们是类的对外接口。但应注意,并非要求把所有成员函数都指定为public。有的函数并不是准备为外界调用的,而是为本类中的成员函数所调用的,就应该将它们指定为private。这种函数的作用是支持其它函数的操作,是类中其它成员的工具函数(utility function),类外用户不能调用这些私有的工具函数。

2.构建之法》P76页4.3.4如何处理c++中的类中7.析构函数(Destructor)(1)把所有的清理工作都放在析构函数中。如果有些资源在析构函数之前就释放了,记住要重置这些成员为0或null?

答:我对析构函数这个概念有些陌生,是以前没有好好听课欠下的债啊,于是去百度查了一下,什么是析构函数。

析构函数的作用:用于在撤销对象前,完成一些清理工作,比如:释放内存等。
每当创建对象时,需要添加初始化代码时,则需要定义自己的构造函数;而对象撤销时,需要自己添加清理工作的代码时,则需要定义自己的析构函数。

以C++语言为例: [1]  析构函数名也应与类名相同,只是在函数名前面加一个位取反符~,例如~stud( ),以区别于构造函数。它不能带任何参数,也没有返回值(包括void类型)。只能有一个析构函数,不能重载。如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数(即使自定义了析构函数,编译器也总是会为我们合成一个析构函数,并且如果自定义了析构函数,编译器在执行时会先调用自定义的析构函数再调用合成的析构函数),它也不进行任何操作。所以许多简单的类中没有用显式的析构函数。

查了百度,了解了析构函数的作用后,我发现自己以前写的程序中只写过构造函数,没写过析构函数,也就是对于对象撤销也没有想过,更别说自己添加清理工作的代码来定义自己的析构函数。

如果不是今天看书查找了资料,我可能一直都是个不知道创建对象后还需要撤销的学生,真是长知识,同时也体现出自己以前底子太差了。

第十七章 人、绩效和职业道德

问题:

1.软件团队中,领导力的几个要素?

答:

《构建之法》中P385页提到软件团队中,领导力有以下几个要素:设定目标、知人善任、带领团队成长、绩效管理。这是很让我受益的一个部分,我觉得不仅仅是在软件团队中是这样的,在日常生活学习中也都是这样的,我特别佩服我高中的一位化学老师,他学识渊博,讲课很有深度,在他课上能学到很多东西,对学生也很好,是我们高三时候的年级主任,可以说是我们学校公认的具有领导能力的老师,班级里的每个同学都很佩服他,但是,在这么有领导力的老师的带领下,我们班居然一点都不团结,从高中毕业到现在,连一次正式的同学聚会都没有,同学群也没有人说话,只是关系好的几个人偶尔会在讨论组里聊聊天。我老师在学校和谁关系都说的过去,但是也没感觉出来他有特别好的同事。我觉得这挺不正常的,想问一下,真正有领导力的人,他到底有没有真心朋友???我觉得《构建之法》中讲了很多相处之道尽展高情商,笔者能否给我解答一下我的疑惑。

2.工程师的效率是如何测量的?

答:阅读了p403~406页,绩效管理方面的知识,书中提到了,公司BUG管理系统积累了很多数据,根据数据整理出的统计信息,发现有的人产生了大量bug,有些人产生很少的bug,那到底怎么衡量呢?查阅了百度知乎,看到了差不多大的答案https://www.zhihu.com/question/28747711

但是和我想要的答案还是有出入的,“慢工出细活”和“萝卜快了不洗泥”这两种类型,我还是觉得“慢工出细活”比较适合软件工程师,但是书中侧重的是“萝卜快了不洗泥”类型可以在省下的时间里面创造更多的功能和价值,但是我觉得应该尽善尽美吧,可能我还没有真正进入到实习岗位,看到的还是不够现实,还在表面,希望老师可以耐心解答一下我的问题。

原文地址:https://www.cnblogs.com/respective/p/8672310.html