如何优雅的提问

本文转载自“生信宝典”,原作者陈同博士,己获作者授权。

学会解决问题的思路是科研人的重要技能,遇到问题不假思索随口就问,不是好习惯,更不是好学生。

解决问题六部曲

在学习、工作的过程中总是会遇到不少问题,通常的解决思路包括谷歌搜索、阅读文档、求助身边的人、QQ群提问、论坛提问、求助作者等。通常我们也应该按这个顺序来操作。

实际的尴尬

但实际上,却时不时的碰到一些比较尴尬的情况,比如:

  • 懒惰型:代表性语句是在吗、有没有人熟悉XX软件、有没有人做过XX分析。这让潜在回答者不知道怎么说,说在或熟悉都是要回答问题的节奏,但一轮的对话下来没有任何实质性进展。这背后是提问者对自己语言的吝惜,不舍得费力敲出想要问的问题,一副不见兔子不撒鹰的样子。殊不知,自己是兔子,回答者是鹰,鹰在看到好的兔子才会出手。
  • 笼统型:代表性语句我想做转录组分析不知道怎么做。这后面将会是很长的对话,上个培训班吧。
  • 宽泛型:代表性语句我的XX软件运行不了或我的程序出错了,知道怎么解决吗。这是神话了潜在答题者,以为他们是万能的,不知道哪儿错了就可以解决问题。
  • 信息不全型:代表性语句我的命令出问题了,你看看怎么回事,然后一张局部截图 (比屏幕截图更差的是屏幕拍照,而且还不拍全),然后就没别的了。这比宽泛型稍微进步了一些,但也没说出要做什么、什么代码、用了什么包、要解决什么问题、输入是什么、预期得到什么结果。不要假设别人对你的工作很了解,也不要假设别人是个理解力很强的人,一定自己描述清楚。
  • 不仔细阅读错误提示。明明错误提示中都写明了错在哪,自己却不去读。对于初学者,确实有这个恐惧,看着代码运行输出来很多东西,不知道怎么看什么地方是错误提示。一般是从最后向前仔细读,碰到ERROR类的字样仔细看看,看不懂就多读两遍;对于不熟悉的,逐行或逐字阅读也不为过。实在读不懂,把错误提示信息在百度、谷歌搜一下,十有八九有人遇到过并已经有人回答。
  • X-Y Problem:有人想解决问题X,他觉得Y可能是解决X问题的方法,但是他不知道Y应该怎么做,于是他去问别人Y应该怎么做,解决来解决去绕个大弯还觉得怪怪的 (X_Y问题具体描述见酷壳陈皓博主的文章 X-Y Problem http://coolshell.cn/articles/10804.html)。
  • 啰嗦:有人想不是要提供很全的信息嘛?就不做筛选,给出特别多,或者直接代码数据一个压缩包发过来,帮我改改。或者大段的文字,有时还是直接拷贝的英文直接发过来。考没考虑过潜在回答者的心理阴影。作为求助者,要给别人提供最好的阅读体验。
  • 私下提问:能在公共论坛或群提问的问题不要私下提问。公共区域有更多的人可以帮助你。如果解决了,也能帮助更多的人。如果你问的很认真或问题很有意思,一定会有人帮你的。

如何优雅提问

提问从来不是个简单的事,认真的提问才有可能得来认真的回答。

clusterprofiler (GO富集分析工具)和ggtree (进化树绘制、美化)的作者Y叔有一篇文章“how to bug author”对如何提问做了很好的指导,尤其是他在Github设置的模板很好的呈现了提出问题前和问出问题时需要做的准备工作。

菜鸟团团长健明也有一篇博文讲述”希望他回答问题应该如何做”,写的很详细,值得阅读,http://www.bio-info-trainee.com/1761.html

结合我自己的经验,简单列举下我对优雅提问的认识:

  • 提问前,确认自己仔细阅读过错误提示、做过谷歌搜索 (对于说谷歌用不了就不搜索的无话可说)和文档阅读(说自己看不懂英文的也跳过)。

  • 提出好的问题。经过第一步的过滤,有深度的问题和自己确实解决不了的问题都算是好的问题。

  • 介绍自己。首先让人知道提问者是谁,在给谁解决问题。这是最起码的尊重。

  • 简洁但详尽地描述自己要做的东西,想解决的问题,遇到的问题,从哪几个角度做了尝试,但问题依然存在。一来免去了回答者从这些角度做无谓的尝试,二来给人一个积极上进的印象,是尝试过解决但没解决了,体现的是一种积极的态度。

  • 如果是软件安装,提供操作系统版本,安装软件的版本,安装操作,完整的错误提示信息。

如果是软件使用,提供相应的局部代码、最小化的测试数据和预期结果,每部分都要有清晰的注释。

  • 如果使用即时聊天工具,最好把这些信息一次性发出,一来避免别人一条条往上翻的麻烦,二来避免中途被其它人的信息干扰。(也可以附带一个格式化好的这些信息的截图,可能会更清晰,但文字要大,不然手机读真不方便)

  • 如果使用论坛,做好格式化,文字不要挤在一起,该有的分段、列表、代码标记,加粗强调都指示清楚,方便人阅读。简单和啰嗦的区别除了文字的功夫,还在排版给人的体验。

  • 对回答者给予感谢,不管是精神还是物质上的。有人帮助应感激,无人应答也正常。

祝大家的问题都会得到圆满解决。

内容概要:本文介绍了基于Matlab代码实现的【EI复现】考虑网络动态重构的分布式电源选址定容优化方法,重点研究在电力系统中结合网络动态重构技术进行分布式电源(如光伏、风电等)的最佳位置选择与容量配置的双层优化模型。该方法综合考虑配电网结构变化与电源布局之间的相互影响,通过优化算法实现系统损耗最小、电压稳定性提升及可再生能源消纳能力增强等多重目标。文中提供了完整的Matlab仿真代码与案例验证,便于复现实验结果并拓展应用于微网、储能配置与配电系统重构等相关领域。; 适合人群:电力系统、电气工程及其自动化等相关专业的研究生、科研人员及从事新能源规划与电网优化工作的工程师;具备一定Matlab编程基础和优化理论背景者更佳。; 使用场景及目标:①用于科研论文复现,特别是EI/SCI级别关于分布式能源优化配置的研究;②支【EI复现】考虑网络动态重构的分布式电源选址定容优化方法(Matlab代码实现)撑毕业设计、课题项目中的电源选址定容建模与仿真;③辅助实际电网规划中对分布式发电接入方案的评估与决策; 阅读建议:建议结合提供的网盘资源下载完整代码与工具包(如YALMIP),按照文档目录顺序逐步学习,注重模型构建思路与代码实现细节的对应关系,并尝试在不同测试系统上调试与扩展功能。
本系统采用SpringBoot与Vue技术架构,实现了完整的影院票务管理解决方案,包含后台数据库及全套可执行代码。该系统在高等院校计算机专业毕业设计评审中获得优异评价,特别适用于正在进行毕业课题研究的学生群体,以及需要提升项目实践能力的开发者。同时也可作为课程结业作业或学期综合训练项目使用。 系统提供完整的技术文档和经过全面测试的源代码,所有功能模块均通过多轮调试验证,保证系统稳定性和可执行性。该解决方案可直接应用于毕业设计答辩环节,其技术架构符合现代企业级开发规范,采用前后端分离模式,后端基于SpringBoot框架实现业务逻辑和数据处理,前端通过Vue.js构建用户交互界面。 系统核心功能涵盖影院管理、影片排期、座位预定、票务销售、用户管理等模块,实现了从影片上架到票务核销的完整业务流程。数据库设计遵循第三范式原则,确保数据一致性和完整性。代码结构采用分层架构设计,包含控制器层、服务层、数据访问层等标准组件,便于后续功能扩展和维护。 该项目不仅提供了可直接部署运行的完整程序,还包含详细的技术实现文档,帮助开发者深入理解系统架构设计理念和具体实现细节。对于计算机专业学生而言,通过研究该项目可以掌握企业级应用开发的全流程,包括需求分析、技术选型、系统设计和测试部署等关键环节。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值