[程序员] 表达的能力

之前看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的举例。

相关推荐
Include everything14 分钟前
Rust学习笔记(三)|所有权机制 Ownership
笔记·学习·rust
livemetee2 小时前
Flink2.0学习笔记:Flink服务器搭建与flink作业提交
大数据·笔记·学习·flink
INS_KF2 小时前
【C++知识杂记2】free和delete区别
c++·笔记·学习
Easocen3 小时前
Mybatis学习笔记(五)
笔记·学习·mybatis
丑小鸭是白天鹅5 小时前
嵌入式C语言学习笔记之枚举、联合体
c语言·笔记·学习
十一10246 小时前
FX10/20 (CYUSB401X)开发笔记5 固件架构
笔记
FakeOccupational6 小时前
【电路笔记 通信】AXI4-Lite协议 FPGA实现 & Valid-Ready Handshake 握手协议
笔记·fpga开发
奶黄小甜包7 小时前
C语言零基础第18讲:自定义类型—结构体
c语言·数据结构·笔记·学习
rannn_1119 小时前
【MySQL学习|黑马笔记|Day7】触发器和锁(全局锁、表级锁、行级锁、)
笔记·后端·学习·mysql
草莓熊Lotso10 小时前
《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
开发语言·c++·经验分享·笔记·其他