`
pengcqu
  • 浏览: 774187 次
  • 性别: Icon_minigender_1
  • 来自: 未来
社区版块
存档分类
最新评论

优秀的开发者如何提问

阅读更多

我经常在stackoverflow.com(一个国外著名的开发者问答站,类似CSDN)上看帖子,见过不少各式各样的求助帖。有些帖子写得好,回复的也切题;有些则不知所云。我觉得,优秀的开发者/程序员必须学会如何“在最短的时间内获得最好的答案”。


首先,请允许我这样说。作为一个开发人员,遇到问题却不愿意提问是不对的。要求自己“不怕羞辱、勇敢提问”真的很重要!在stackoverflow, experts-exchange(类似我们的CSDN,Donews,51CTO)以及其他技术型社区看过无数帖子后,我总结出几个写求助帖提问交流的技巧。


问题描述要细致。
有些人提问过于简洁了。只有一句类似“我写的这个计算器怎么不能运行呢?”的话。没有写自己的思考,没有代码片段,或其他相关细节。要知道,细节才是解决问题的关键。当然,也不能过了,整个帖子密密麻麻全是代码,要别人帮你找错误一般是不可能的。一定要清楚地描述自己的问题。给大家举个例子:
愚蠢的问题:我怎样才能让某图形程序的颜色拾取器取得十六进制的RGB值?
明智的问题:我正试图用自己选定数值的颜色替换一幅图片的颜色表,现在唯一知道的方法是编辑每个表槽,但却无法让某图形程序的颜色拾取器取得十六进制的RGB值。
第二种提法是明智的,这样才可能有人回复你“建议采用更合适的工具**完成任务”。

 

 

帖子要包含错误信息
“请求大家帮助”“我的程序不能运行!”……上帝呀,这样的帖子您就别发了,没人会理你的。人们需要准确地知道它是怎么不能运行,你知道自己是怎么弄的,应该怎么样,可是别人只是路过,并不知道怎么回事儿。

简要列出你的开发环境。
环境变量是常常被忽视的要素。花几秒钟列出一些像使用的软件版本号、开发平台等相关细节。

写出你的猜测
提问的时候讲述你自己对这个问题的看法是很有用的。有时,你所处的环境在别人眼里是不可思议的,人们根本不知道你要干什么。帖子里包括你的思维过程简介可以让大家找准你的失误,并解释原因。

要有示例。
也许根本不需要例子,但有时这是准确地描述你的问题/情况的唯一方法。先写出出错的代码片断,然后描述你的问题。如果是网页编程方面的问题,给一个示范网页,让大家查看一下会很有帮助。对于CSS一类的问题,只有这样才能清楚明白的表达。

 

学会描述一个问题,不仅能很快找到答案,还能知道以后如何研究类似的问题。
有些问题只要你把关键字输入Google搜索框,然后点击“手气不错”就能找到答案。贴出你的为难题之前要先自我探索和研究一下。自己亲手找到答案,可以学到更多东西。就算你没有找到最终的解决方案,但是在探索的过程中,你已经学到了很多很多。

不要被别人的回复激怒!
大多数时候,大家在自己的业余时间(或工作间歇)给你回复。如果您发了帖子,有人回复“你有没有好好检查一下自己的代码呀?”你可能会倾向于回应,“我当然检查过了,要不然我会发帖提问嘛,你以为我傻呀?”也许我的描述有点儿过分,但信不信由你,更糟的情况也有的是。遇到这样的回复你要礼貌,除非他恶意攻击你。

 

提问时要记住这几点。谦逊些,谁都有过提问的时候,没有啥都知道的大牛!如果有,这头大牛一定是发了不少成功的求助帖!

 

来源:http://www.yeeyan.com/

 

 

相关链接:

 

★  Java基础知识点汇总 

 

 

 

分享到:
评论

相关推荐

    微信开发者工具小程序

    2. **开发者社区**:如微信开放社区,开发者可以交流经验、提问解惑,获取最新的开发资讯。 3. **在线课程**:许多在线教育平台提供了微信小程序开发课程,帮助初学者快速入门。 4. **开源项目**:GitHub上有很多...

    开发者智慧之c语言程序设计

    **《开发者智慧之C语言程序设计》**是一本注重实践与深入讲解C语言本质的优秀读物。无论是对于想要系统学习C语言的初学者还是希望进一步提高编程技巧的经验丰富的开发者来说,本书都能提供宝贵的指导和启发。通过...

    软件开发者面试一百问

    文章强调了提问的重要性,特别是那些能够引发深入讨论的问题,以区分优秀程序员和一般水平的候选人。 【标签】:“面试” 【主要内容】:这篇文章由Jurgen Appelo撰写,李剑翻译,包含了一系列针对软件开发者面试...

    软件需求优秀实践方法

    - 作为业务分析师(BA),需要向客户提问,倾听他们的意见,并观察他们的行为。通过这种方式获取的第一手资料有助于更好地理解客户需求,并据此编写清晰的需求规格说明书。 3. **需求工程的挑战与应对策略** - ...

    23学与问[定义].pdf

    【标题】: "23 学与问[定义].pdf" 【描述】: "23 学与问[定义].pdf" ...在软件开发中,善于提问和持续学习是成为优秀开发者的关键,这不仅关乎技术知识的积累,也关乎问题解决能力和创新能力的培养。

    Java项目开源源码2023最新资源

    在IT行业中,Java是一种广泛应用的编程语言,尤其在企业级应用开发中占据着主导地位。本文将基于提供的信息,深入探讨“Java项目开源源码2023...务必充分利用这些宝贵的资源,它们将是你成为优秀Java开发者的重要阶梯。

    前端开源库-jeefo_template

    Jeefo_Template 应该也有详细的API文档和示例,以及活跃的社区支持,方便开发者提问和交流经验。 7. **持续更新与维护**:开源库的长期生命力在于持续的更新和完善。Jeefo_Template 作为一款成熟的开源库,应该有...

    优秀班级答辩计时程序

    3. **暂停与继续**:为了应对突发情况,程序可能需要暂停,如评委提问或技术调整。此时,用户可以通过简单操作暂停计时,待处理完毕后继续。 4. **统计记录**:程序可能具备统计每个班级答辩时间的功能,方便评委对...

    Inquirer.js-常见的交互式命令行用户接口的集合

    总的来说,Inquirer.js是Node.js开发者构建交互式命令行应用的得力助手,通过其强大的功能和易用的API,开发者可以快速创建出功能丰富、用户体验优秀的命令行工具,从而提升工作效率,优化开发流程。

    100个ChatGPT提问指令.zip

    ChatGPT是由OpenAI开发的一款基于人工智能技术的语言模型,它能够理解和生成...不过,要注意的是,虽然ChatGPT表现优秀,但它并非万能,对于一些即时更新的信息或需要专业知识的判断,仍需要结合其他可靠来源进行验证。

    开源项目-lk-geimfari-awesomo.zip

    不仅如此, Awesomo项目还包含了“Community”(社区)部分,这里列举了Golang相关的论坛、邮件列表和社交媒体群组,方便开发者提问、分享经验或寻找合作机会。通过参与这些社区,开发者可以实时跟踪Go语言的最新...

    Android代码-集成安卓优秀开源类库

    如果遇到问题,可以在这些平台上提问,获取其他开发者的经验和建议。 总的来说,集成`MyLive-master`或其他优秀的Android开源类库,需要对类库的功能、使用方法有深入理解,同时做好依赖管理、权限配置、异常处理等...

    模仿分答APP(微信小程序源代码)

    此外,通过调试和修改源代码,开发者可以定制自己的问答应用,或者借鉴其中的优秀实践,提升自身编程能力。 总的来说,这个项目为开发者提供了一个实际的案例,帮助他们深入理解微信小程序的开发流程和技术细节,...

    微信小程序开发的一套组件库

    9. **社区支持**:开源社区是TDesign的重要组成部分,开发者可以在社区中提问、分享经验,与其他开发者交流,共同解决问题,提升整体开发能力。 10. **兼容性和性能**:TDesign组件库经过严格测试,确保在微信小...

    CSKIN4C#美化库

    7. **社区支持**:开源项目往往拥有活跃的社区,开发者可以在这里交流经验、提问和获取帮助。如果CSKIN4C#是开源的,那么社区的支持将是其持续发展和改进的重要动力。 8. **版本更新和维护**:随着C#语言和技术的...

    前端项目-moonjs.zip

    作为一个开源项目,MoonJS拥有活跃的社区,开发者可以通过GitHub等平台提问、分享经验、参与讨论,共同推动项目的发展和完善。 **8. 应用场景** MoonJS适合构建各种类型的Web应用,从小型的个人项目到大型的企业级...

    LayUI 一款 Web UI 前端开发框架

    6. **社区支持**:作为一个开源项目,LayUI拥有活跃的开发者社区,用户可以在这里分享经验、提问解答,获取及时的技术支持。社区的活跃度也保证了LayUI的持续更新和改进。 7. **兼容性**:LayUI考虑到了各种浏览器...

    haoka框架

    同时,活跃的社区也是框架生命力的体现,开发者可以在社区中提问、分享经验,共同推动框架的发展。 10. **版本控制和更新**:Haoka框架很可能遵循版本控制策略,如SemVer(语义化版本),定期发布更新,修复已知...

    awesome-nodejs-master.rar

    7. **社区和资源**:链接到活跃的Node.js论坛、邮件列表、Slack频道或Discord群组,以便开发者提问、交流和获取最新的技术动态。 8. **持续集成/持续部署(CI/CD)**:如Travis CI、CircleCI的相关配置和使用方法,...

Global site tag (gtag.js) - Google Analytics