zoukankan      html  css  js  c++  java
  • How to ask a Question?

    Once upon a time I was in high school. Ah, the halcyon days of my youth. One day I was sitting in class, minding my own business when the teacher said: "Does anyone have a thin metal ruler?"

    No answer. Apparently no one had a thin metal ruler.

    "No? How about a nail file?"

    No answer. Now, I cannot imagine that of all the girls in the class, not one of them had a nail file. But I can well imagine that none of them wanted to share it with a teacher.

    "No? Hmm."

    So I piped up: "What do you need a nail file for?"

    "I have this big staple in this document that I need to remove."

    Upon which point one of my classmates mentioned that he had a staple remover. Problem solved.

    Over and over again I find that script customers (both internal consumers here at Microsoft and third-party developers) frequently ask questions like my teacher. That is, they have a preconceived notion of how the problem is going to be solved, and then ask the necessary questions to implement their preconceived solution. And in many cases this is a pretty good technique! Had someone actually brought a thin metal ruler to class, the problem would have been solved. But by choosing a question that emphasizes the solution over the problem, the questioner loses all ability to leverage the full knowledge of the questionees.

    When someone asks me a question about the script technologies I almost always turn right around and ask them why they want to know. I might be able to point them at some tool that better solves their problem. And I might also learn something about what problems people are trying to solve with my tools.

    Joel Spolsky once said that people don't want drills, they want holes. As a drill provider, I'm fascinated to learn what kinds of holes people want to put in what kinds of materials, so to speak. Sometimes people think they want a drill when in fact they want a rotary cutter.

    From :http://blogs.msdn.com/b/ericlippert/archive/2003/11/03/a-parable.aspx

  • 相关阅读:
    手写简易SpringMVC框架,包含@PathVariable
    高并发下,如何保证接口的幂等性?
    JAVA判断奇偶数
    多线程ForkJoin-分治思想
    websocket简单使用
    Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!(转载学习)
    linux配置java环境变量(详细)
    java缓存技术的介绍(转载)
    java 多态性详解及常见面试题
    oracle数据库基础知识总结(一)
  • 原文地址:https://www.cnblogs.com/malaikuangren/p/2624498.html
Copyright © 2011-2022 走看看