当前位置: 首页 > news >正文

[程序员] 表达的能力

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

相关文章:

  • 在公司的一些笔记
  • 【ARM 安全系列介绍 3.7 -- SM4 对称加密算】
  • Java中的图形用户界面开发
  • 【MySQL进阶之路 | 高级篇】SQL执行过程
  • 用Vite基于Vue3+ts+DataV+ECharts开发数据可视化大屏,即能快速开发又能保证屏幕适配
  • PCB行业迈入数字化新时代,智能工厂引领未来制造
  • 供应链投毒预警 | utilitytool系列Py包开展XenoRAT远控木马投毒
  • Android-Android Studio-FAQ
  • YOLOv8目标跟踪model.track的封装
  • Java学习 - 网络IP地址与子网划分 讲解
  • 【C/C++】我自己提出的数组探针的概念,快来围观吧
  • shardingsphere调优日记
  • 【源码】人力资源管理系统hrm功能剖析及源码
  • git 快速将当前目录添加仓储
  • 性能工具之 JMeter 常用组件介绍(五)
  • 【翻译】babel对TC39装饰器草案的实现
  • C++入门教程(10):for 语句
  • echarts的各种常用效果展示
  • java8 Stream Pipelines 浅析
  • JavaScript 奇技淫巧
  • Java程序员幽默爆笑锦集
  • java小心机(3)| 浅析finalize()
  • Lucene解析 - 基本概念
  • Spring-boot 启动时碰到的错误
  • Vue.js源码(2):初探List Rendering
  • 关于extract.autodesk.io的一些说明
  • 如何解决微信端直接跳WAP端
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 听说你叫Java(二)–Servlet请求
  • 我看到的前端
  • 自定义函数
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​​​【收录 Hello 算法】9.4 小结
  • ​configparser --- 配置文件解析器​
  • ​香农与信息论三大定律
  • (1)(1.13) SiK无线电高级配置(六)
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (zhuan) 一些RL的文献(及笔记)
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (十)c52学习之旅-定时器实验
  • (四)opengl函数加载和错误处理
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (译)2019年前端性能优化清单 — 下篇
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)JAVA中的堆栈
  • ***测试-HTTP方法
  • ***原理与防范
  • .net core 外观者设计模式 实现,多种支付选择
  • .NET Framework 3.5安装教程
  • .net MySql
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)