[程序员] 表达的能力

之前看CSDN的问答区,很多时候,感觉问题的描述所要表达的意思非常模糊,或者说描述不清。如果是想回答问题的人想回答问题,首先要搞清楚是什么问题,就需要再问问题主很多细节的东西。三来四去,才能搞清楚具体的问题是是什么,这就比较耗时。然后才能开始作答。

原因之一是问问题的人,脑子里知道很多细节,但是在描述的时候想不起来说。这就和之前上大学的时候,听我们宿舍老五讲的一个经典故事非常相似:他说他小时候,有一次给别人出数学题:

他问:"七加等于几?",把对方问的一愣!

老五还要说:"你咋这么笨,七加等于十呀!"

其实对方不笨,倒是老五忘记说出"三"了!"三"在老五的脑子里,但是没说出来。

幸好没有把七也省略,不然就是"加等于几?",同时少了七和三更让人懵得慌!

原因之二是,答题人的知识盲区,也是理解问题的一个关键。

最近在工作中也是遇到一例,如果是开问题单,分析的人当然是希望可以看到稍微具体点的测试基本步骤,如果这个没有,而只是给出大体的步骤和现象,那就需要自己从日志里巴拉巴拉,或者和测试人员再深入交流一下。表达能力也算是工作的一个基本技能。

举例,一个问题描述,如下,中间省略一百字:

"代码编辑器:vs2019

语法:c++

。我最近用cmake软件编译了一个库,要用在我的项目里面。。。。。。。。。求指点"

其中里面有很多地方用到了"我","我的","这个","那个",还有一些没有必要的信息,其实可以省略掉,简洁版:

"最近用cmake编译了一个库。想用里面的一个文件中的函数。比如就叫temp.h文件吧。然后就在main函数中去用了。但是调用temp.h文件中的函数A()是这样写的,功能是判断是不是宏定义了CC,如果宏定义了就返回true否则返回false。在项目的属性里面的预编译器中设置了CC宏。但是调用这个函数还是返回的false。但是如果把temp.cpp文件放到项目下面当成一个cpp文件。然后在运行就变成true了。这是怎么回事?而且temp.cpp文件在最开头也定义了宏CC。为啥链接进项目函数返回的是false,而把文件放到项目下面就是true了呢。把文件放到项目下面会报错。temp.cpp文件中一些函数重定义,这个重定义是和链接进来的包含temp.cpp的lib库有冲突。把那些冲突函数注释了之后,就可以运行出来A()是true。但是注释的那些函数正是我想要用的函数。"

上面描述还有一个问题:temp.h/temp.cpp,这两个文件名称,回答问题人知识区相关;如果不是特别说明,C的程序员可能认为是temp.h改名成了temp.cpp。而如果是C++,一个是类声明文件,一个是类成员函数定义文件。后来通过深入交流,发现这个文件名称是开源库里的,所以根本就不需要例如,直接写开源库文件名就好了,不需要temp的举例。

相关推荐
降临-max15 分钟前
软件测试基础---项目实战
软件测试·笔记·功能测试·测试用例
鱼子星_1 小时前
【C++】内存管理:内存分布,new/delete的使用及细节处理,new/delete的底层,定位new表达式
开发语言·c++·笔记
愚昧之山绝望之谷开悟之坡1 小时前
回购逆回购
笔记
鱼子星_2 小时前
【C++】string(上):string的基本使用
c++·笔记·字符串
AOwhisky2 小时前
Python 学习笔记(第四期)——字符串:格式化、操作与文本处理——核心知识点自测与详解
开发语言·笔记·python·学习·列表·元组·字典
chnyi6_ya2 小时前
论文阅读笔记 | VIDEOPHY: Evaluating Physical Commonsense for Video Generation
论文阅读·笔记
AOwhisky2 小时前
Python 学习笔记(第六期)——函数:定义、参数传递与作用域
笔记·python·学习·云原生·运维开发·函数·参数传递
玖玥拾3 小时前
Unity 3D 基础(一)Unity基础架构、物理系统、视觉渲染、空间变换与对象查询
笔记·游戏·3d·unity·游戏引擎
kdxiaojie4 小时前
Linux 驱动研究 —— V4L2 (2)
linux·运维·笔记·学习
阿米亚波4 小时前
【C++ STL】std::list
c++·windows·笔记·stl·list