extjs 实用开发指南_如何提出有效问题:针对开发人员的实用指南

extjs 实用开发指南

Learning is a journey that never ends. At every point in your career, you will keep learning, re-learning, and un-learning.  

学习是一个永无止境的旅程。 在职业生涯的每个阶段,您都会不断学习,重新学习和不学习。

The ability to find answers to problems is key, and these answers can be gotten by either debugging, googling or asking questions. These are skills everyone should learn.

找到问题答案的能力是关键,可以通过调试,谷歌搜索或提问来获得这些答案。 这些是每个人都应该学习的技能。

While asking questions is great, doing it the wrong or less effective way might lead to many hours of unproductive work. In this article show you how to ask effective questions, become a better googler, and hone your problem-solving skills.

提出问题固然很好,但以错误或较无效的方式进行提问可能会导致许多小时的非生产性工作。 在本文中,您将了解如何提出有效的问题,如何成为一名更好的Googler以及如何提高解决问题的能力。

读取搜索询问方法 (The Read Search Ask Method)

freeCodeCamp came up with this amazing method for their students called the Read Search Ask method where you can solve your problems efficiently while respecting other people’s time, too.

freeCodeCamp为他们的学生提供了一种名为“ 阅读搜索提问”方法的惊人方法,您可以在尊重他人时间的同时高效地解决问题。

It is expected that you follow these steps in order before you ask a question.

提出问题之前,应按顺序执行以下步骤。

  • Read the error or documentation

    阅读错误或说明文件

  • Search Google or Stackoverflow

    搜索 Google或Stackoverflow

  • Ask for help

    求人

🔬📚阅读您的错误 (🔬📚 Read your errors)

The first step to finding a solution(s) to your problem is to understand the problem itself. Many developers ask questions without understanding the problem. Remember you want to ask questions efficiently and also respect the time of the individual you will be asking.

找到问题的解决方案的第一步是了解问题本身。 许多开发人员在不了解问题的情况下提出问题。 记住,您要高效地提出问题,同时也要尊重要询问的个人的时间。

Most often, the answers to your bugs are in the errors itself. It's not considerate to ask questions that you could have solved yourself if you had read the error itself.

通常,错误的答案就在于错误本身。 如果您已经读过错误本身,可以提出一些本可以解决的问题,这不是很体贴的事情。

One great way to debug your errors is to log the error on your console or terminal and read the errors. Five things can happen at this stage:

调试错误的一种好方法是在控制台或终端上记录错误并读取错误。 在此阶段可能发生五件事:

  • You identify the bug

    您找出错误
  • You determine the location of the bug (possible a file or section of your code)

    您确定错误的位置(可能是文件或代码的一部分)
  • You understand the cause(s) of the bug

    您了解错误的原因
  • You outline possible fixes of the bug

    您概述了该错误的可能修复
  • You implement the possible fixes

    您实施可能的修复

Most often, just this step alone can help you solve your problem. The more you practice this, the better you become at debugging and fixing issues. Some bugs might be more complex than your capacity, and then you need to seek external help or resources.

通常,仅此一步就可以帮助您解决问题。 练习的越多,您越能调试和解决问题。 有些错误可能比您的能力更复杂,然后您需要寻求外部帮助或资源。

阅读文档 (Read the Documentation)

Let's assume you couldn't fix your issues from the first step (but you were able to identify the bug at least). Then you need to read some documentation.

假设您从第一步开始就无法解决问题(但至少能够识别该错误)。 然后,您需要阅读一些文档。

This might not apply to all bugs, but make sure to run your issue through this step before moving to the next. After identifying your bug, it's time to determine the cause and outline possible fixes.

这可能并不适用于所有错误,但是请确保在执行此步骤之前先解决您的问题,然后再进行下一步。 在确定您的错误之后,该是确定原因并概述可能的修复程序的时候了。

Documentation is a set of documents provided on paper, or online, or on digital or analogue media, such as audio tape or CDs. Examples are user guides, white papers, on-line help, quick-reference guides. Paper or hard-copy documentation has become less common. ~ Wikipedia

文档是在纸上,在线或数字或模拟媒体(例如录音带或CD)上提供的一组文档。 示例包括用户指南,白皮书,在线帮助,快速参考指南。 纸质或纸质文档越来越不常见。 〜 维基百科

Documentation serves as the official guide of a particular programming language, framework, library or technology. The best place to get the first-hand resource on a specific issue is to check the official help guide of the technology.

文档充当特定编程语言,框架,库或技术的正式指南。 获取有关特定问题的第一手资源的最佳位置是查看该技术的官方帮助指南。

You might have misconfigured something, installed some wrong package or forgot to import something. But when you read the docs of the tech responsible for the bug it can help you find a fix quickly.

您可能配置错误,安装了错误的软件包或忘记了导入。 但是,当您阅读负责该错误的技术文档时,它可以帮助您快速找到修复程序。

Recently I was working on a Gatsby project, and I ran into some console errors and blank white page in production. But this didn't occur in development.

最近,我正在从事Gatsby项目,但在生产中遇到了一些控制台错误和空白页。 但这在开发中并未发生。

TypeError: t.test is not a function

So vague right? After identifying the bug location, reading the docs and trying out several fixes, I discovered something: in the Gatsby Google analytics plugin configuration, I left the array meant to avoid sending pageview hits from custom paths empty.

那么含糊吧? 在确定了错误的位置,阅读了文档并尝试了一些修复程序之后,我发现了一些东西:在Gatsby Google Analytics(分析)插件配置中,我将数组保留为避免从自定义路径发送综合浏览量。

plugins: [
    {
      resolve: `gatsby-plugin-google-analytics`,
      options: {
        trackingId: 'UA-XXXXXXXX-1',
        head: false,
        anonymize: true,
        respectDNT: true,
        exclude: [''],
        pageTransitionDelay: 0,
      }
]

After 3 hours of reading the error, trying to identify the bug and reading Gatsby docs, I figured out that the exclude[] option had no values in it. Removing this fixed my issue since I didn't need to exclude any page after all.

读取错误3个小时,尝试识别错误并阅读Gatsby文档后,我发现exclude[]选项中没有任何值。 删除此问题解决了我的问题,因为我根本不需要排除任何页面。

This shows why you should spend some time debugging. It might take some time, and it will be frustrating. The bug might look stupid, the fix might be simple, but it's worth it. The more time you spend debugging, the better you become and the faster you will fix even more complex bugs next time.

这说明了为什么您应该花一些时间进行调试。 这可能需要一些时间,并且会令人沮丧。 该错误可能看起来很愚蠢,修复可能很简单,但这是值得的。 您花费更多的时间进行调试,您会变得更好,并且下次可以更快地修复甚至更复杂的错误。

Now if you have read your errors and several docs, but your bug is becoming more complex, it's time to search the web "effectively".

现在,如果您已经阅读了错误和一些文档,但是您的错误变得越来越复杂,那么就该“有效地”搜索网络了。

One of the best places to search for solutions to your issues is Google since it already crawls content from numerous webpages, dev communities, and docs like StackOverflow, Hashnode, freeCodeCamp News, MDN, CSS tricks, Hackernoon, and many others.

搜索问题的最佳方法之一是Google,因为它已经从众多网页,开发人员社区和诸如StackOverflowHashnodefreeCodeCamp NewsMDNCSS技巧Hackernoon等文档中抓取了内容。

Here are some helpful Google search tips you can try to get answers more efficiently:

以下是一些有用的Google搜索提示,您可以尝试更有效地获取答案:

  • Add a specific domain to channel your search to a particular website and save some time. You can append the site: sitename to your search, and it'll return only results from that website.

    添加特定的域以将您的搜索引导到特定的网站并节省时间。 您可以将site: sitename附加到搜索中,它只会返回该网站的结果。

  • Search for specific title and text in specific sites. This will allow your results to include resources related to the title or text keyword you specified.

    在特定站点中搜索特定标题和文本。 这将使您的结果包含与您指定的title或text关键字相关的资源。
intitle:axe
标题:axe
intitle:axe intext:web ui testing
intitle:axe intext:web ui测试
intitle:axe intext:web ui testing site:bolajiayodeji.com
intitle:axe intext:web ui测试站点:bolajiayodeji.com
  • Add specific keywords to your search and pull out individual details like file paths. If your bug is related to Python, add it to your search query. If it is related to objects, add that too. This will streamline the results to a wider range of possible resources related to your bug, since there are objects in just about every programming language.

    在搜索中添加特定的关键字,并提取文件路径等单个详细信息。 如果您的错误与Python有关,请将其添加到搜索查询中。 如果与对象有关,则也添加它。 由于几乎每种编程语言都有对象,因此这将使结果简化为与错误相关的更多可能资源。
  • Google automatically omits most non-alphanumeric characters from your queries. Symbols like `!@#$%^&*(){}[]<> are not included in your search. So you can focus on more specific keywords, as discussed above.

    Google会自动从您的查询中删除大多数非字母数字字符。 诸如`!@#$%^&*(){} [] <>之类的符号不包含在搜索中。 因此,如上所述,您可以专注于更具体的关键字。

  • Copy and paste your errors (removing specific information); there is a 99.9% chance that someone else has encountered the same error and has maybe opened some issue or written an article about it. Never underestimate the power of StackOverflow and GitHub issues.

    复制并粘贴您的错误(删除特定信息); 可能有99.9%的其他人遇到相同的错误,并且可能已经打开了一个问题或撰写了有关此错误的文章。 永远不要低估StackOverflow和GitHub问题的力量。
  • Search within the past few years since programming changes pretty quickly. This will ensure you don't hit redundant resources.

    自从编程变化很快以来,过去几年内就一直在搜索。 这将确保您不会浪费多余的资源。
  • Reiterate, try different keywords and more general keywords multiple times, and open multiple tabs until you find an answer. This might be awkward at first, but as you consistently do this, you'll get better, and with time it will take you less time and fewer tabs to find an answer.

    重申一下,多次尝试使用不同的关键字和更通用的关键字,然后打开多个标签,直到找到答案。 起初这可能很尴尬,但是随着您一贯这样做,您会变得更好,并且随着时间的流逝,您将花费更少的时间和更少的选项卡来找到答案。

Ask️问 (🗨️ Ask)

Now comes the sought-after diamond. I would advise, before you ask ANY questions, that you make sure you have completed steps 1 and 2.

现在是抢手的钻石。 在您问任何问题之前,我建议您确保已完成步骤1和2。

This might be hard, but the earlier you get used to this, the better you grow. I've had people ask me questions, and when I copy and paste their question into Google, the first result answers the question 100%. This doesn't feel great.

这可能很难,但是您越早习惯这一点,您的成长就越好。 我曾有人问我问题,当我将问题复制并粘贴到Google时,第一个结果会100%回答问题。 感觉不太好。

Most often, I'll have to send the link to them. Meanwhile, they could have done this themselves and saved me some time while increasing their problem-solving skills.

通常,我必须将链接发送给他们。 同时,他们本可以自己做,并节省了我一些时间,同时提高了他们解决问题的能力。

Even if your next-door neighbour works at Google, if your dad is a Software Engineer, if your close friend has two more years experience beyond you, try not to ask them questions until you have invested time into finding solutions yourself. This will help you:

即使您的隔壁邻居在Google工作,如果您的父亲是一名软件工程师,或者您的密友还有2年以上的工作经验,在您花时间自己寻找解决方案之前,也不要问他们问题。 这将帮助您:

  • Build more self-confidence, as you won't need to rely so much on others. (What if that close friend is unavailable to respond to you someday, what will you do?!)

    建立更多的自信,因为您不需要过多地依赖他人。 (如果有密友某天无法回复您,您将怎么办?!)
  • Save the time of whomever you are planning to ask questions. There are tons of developers around the world, and you might not be the only one asking that same person questions. By completing steps 1 and 2 first, you are also helping others with less experience or more complex problems get answers quickly.

    节省您计划提问的时间。 世界各地有成千上万的开发人员,您可能不是唯一一个问同一个人问题的人。 通过首先完成第1步和第2步,您还可以帮助经验不足或更复杂的问题的其他人快速获得答案。
  • Build your problem-solving, debugging, research and googling skills. These are essential skills that will help you become a better developer. You only master a skill when you consistently practice it, so try to practice this regularly and watch yourself grow and master the art.

    建立您的问题解决,调试,研究和谷歌搜索技能。 这些是必不可少的技能,可帮助您成为更好的开发人员。 您只有在持续练习时才掌握这项技能,因此请尝试定期进行练习,并观察自己的成长和掌握技巧。

But let's say that you have completed both steps, and you still need external help from a mentor, senior developer, team lead, the local community, group, or friend. How then do you ask questions effectively?

但是,假设您已经完成了两个步骤,但是仍然需要导师,高级开发人员,团队负责人,本地社区,团队或朋友的外部帮助。 那您如何有效地提出问题?

  • Complete step 1 and make sure you understand the problem already

    完成步骤1,并确保您已了解问题
  • Complete step 2 so you might at least have gotten some insights into possible causes and solutions of the problem

    完成步骤2,因此您至少可以对问题的可能原因和解决方案有一些了解
  • Now do some research: you are either asking the question in dev communities like Stackoverflow or Hashnode or requesting help from an individual you feel has more experience than you.

    现在进行一些研究:您是在像StackoverflowHashnode这样的开发社区中提出问题,或者是向您觉得比自己更有经验的个人寻求帮助。

    • The "problem" you have encountered

      您遇到的“问题”
    • Your thoughts on what you think might be wrong "based on your research."

      根据您的研究,您对自己认为的想法可能是错误的。
    • Proof of research efforts (Devs will be happier to help you once they see you have made some effort already). Add links to resources you have checked and solutions you have tried already.

      研究工作的证明(一旦开发人员发现您已经做出了一些努力,他们将更乐于为您提供帮助)。 将链接添加到您已检查的资源和已经尝试过的解决方案。
    • Be conversant with tools like CodePen, CodeSandBox, GitHub Gist, Repl.it, and GitHub so you can easily provide a link to a snippet of your code, a working project or mimimal reproduction without having to type so much text. Please try as much as possible not to paste code that is more than one line in chat.

      熟悉诸如CodePenCodeSandBoxGitHub GistRepl.itGitHub之类的 工具 ,因此您可以轻松地提供指向代码段,工作项目或最小复制的链接,而无需键入太多文本。 请尽量不要在聊天中粘贴超过一行的代码。

    • Take clean and clear screenshots where necessary. Most often, you can take a snapshot of your console errors for smaller issues. Try not to strain your helper's eyes. Take specific and clear screenshots related to your error.

      必要时采取干净清晰的屏幕截图。 通常,您可以为较小的问题制作控制台错误的快照。 尽量不要拉伤助手的眼睛。 拍摄与您的错误相关的特定且清晰的屏幕截图。
  • Be sure you're asking the right person or community. Don't ask a python related question to someone who knows just Java. Your research from the previous step will help you here. It's also great to bookmark specific communities, individuals or groups where you will regularly ask questions based on how helpful their responses have been to you.

    确保您问的是合适的人或社区。 不要向只懂Java的人询问与python相关的问题。 上一步的研究将为您提供帮助。 将特定的社区,个人或团体添加书签也很不错,您可以根据他们的回复对您的帮助程度定期提出问题。
  • Now don't be afraid to ask. I've had my share of toxic responses from people who respond with comments like "this is simple", "come on, google it", "you should know this", and you might get that too :(. The internet is a combination of good and toxic individuals who might be or not welcoming. Be confident in yourself, you have done your part by completing steps 1 and 2, so ask the question freely.

    现在,不要害怕问。 我收到了一些人的有害React,这些人用“这很简单”,“来吧,用谷歌搜索”,“您应该知道这一点”等评论来回应,您也可能会得到:(。互联网是对自己充满信心,可以完成第1步和第2步,因此对自己充满信心,因此可以自由地提出问题。

结论 (Conclusion)

You don't need to "know it all", you just need to "know it and know how and where to find more knowledge."

您不需要“全部了解”,只需要“知道并知道如何以及在何处找到更多知识”。

Dear 10x, Senior, "It's Simple", Engineer: please note that you're discouraging developers who are asking these questions. I had to battle so much with my self-confidence some years ago, and it took me a while to get over it.

亲爱的10x,高级工程师,“很简单”,工程师:请注意,您不鼓励提出这些问题的开发人员。 几年前,我不得不为自己的自信而奋斗,这花了我一段时间才能克服。

There is so much for learners to battle with already (learning, imposter syndrome, and personal issues), so please don't add to it. Be welcoming, make them feel like they belong here, and support them.

学习者已经为之奋斗了很多(学习,冒名顶替综合症和个人问题),所以请不要添加。 热情好客,让他们觉得自己属于这里,并支持他们。

Your response can intentionally or unintentionally influence someone's decision to ask questions freely next time. If you can't or won't be available, you can either not respond at all or respond in a friendly way with feedback.

您的回答可能有意或无意地影响某人下次自由提问的决定。 如果您无法使用或无法使用,则根本无法回应,也无法以友好的方式反馈。

Refer people to your friends if you don't have the time or capabilities to attend to them, give constructive criticism, and try not to leave a question without feedback or impact.

如果您没有时间或能力陪伴他们,不给他们建设性的批评,并且不要在没有反馈或影响的情况下提出问题,请把人们推荐给您的朋友。

Beginner developers need support. Learning to code is hard, especially if you're doing it alone. If you're learning in a traditional classroom, be sure to network with the other students. Do homework together. Discuss the problems. If you're learned online, it's very easy to get discouraged. Find chat spaces with others who are on a similar journey and use that space to encourage one another. Twitter also makes the experts accessible to you (reason #49948 why I love Twitter). Find the experts in whatever it is you're learning and consume their content. Ask them questions if you need to. The key is not to do it alone. ~ Angie Jones

初学者开发人员需要支持。 学习编码非常困难,特别是如果您一个人做的话。 如果您是在传统教室里学习,请确保与其他学生建立联系。 一起做作业。 讨论问题。 如果您是在网上学习的,很容易灰心。 与处于相似旅程中的其他人找到聊天空间,并利用该空间互相鼓励。 Twitter还使您可以访问专家(原因#49948我爱Twitter的原因)。 无论您要学习什么,都可以找到专家,并使用他们的内容。 问他们是否需要的问题。 关键不是一个人做。 〜 安吉·琼斯(Angie Jones)

The industry is growing daily. We are all trying to learn and get better at different levels. A lot of developer communities are supportive and make their resources available for consumption. Make sure you are a part of this movement, consume those available resources, contribute to these resources, and be a helper in any way you can.

该行业每天都在增长。 我们都试图在不同的水平上学习并取得进步。 许多开发人员社区都支持并使其资源可供消费。 确保您是这一运动的一部分,消耗这些可用资源,为这些资源做出贡献,并尽一切可能成为帮手。

Thank you to all the amazing developers across the globe, creating and sharing contents/ projects. Your contributions are the pillars holding up the tech ecosystem today. 🙏💙

感谢全球所有出色的开发人员,他们创建和共享内容/项目。 您的贡献是支撑当今技术生态系统的Struts。 🙏💙

Quick note, I interview awesome women in tech on the She Inspires at Hashnode where I understand the current health of the tech industry, get insights from their personal and career growth, and inspire other women to become better. Read all past interviews here, trust me it's worth your time. :)

快速说明,我在HashnodeShe Inspires采访了科技界的杰出女性,我了解科技行业的当前状况,从其个人和职业发展中获得见解,并激励其他女性变得更好。 在这里阅读所有过去的采访,请相信我,这值得您度过。 :)

Don't spend your entire life waiting for the best time to make that move – write that article, build that side-project, apply for that job or ask that question today. The best time is always now!

不要一辈子都在等待最好的时机来做这个动作–写那篇文章,建立那个副项目,申请那个工作或今天问这个问题。 最好的时光永远是现在!

翻译自: https://www.freecodecamp.org/news/asking-effective-questions-a-practical-guide-for-developers/

extjs 实用开发指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值