![]() |
1
4
我使用三阶段技术来评估API。 1)发现-在这个阶段,我用尽可能多的搜索短语组合搜索stackoverflow、codeproject、google和新闻组,并将所有可能适合我需要的内容添加到一个巨大的列表中。 2)过滤/分类-对于我在收集阶段发现的每一个项目,我都试图找出它是否适合我的需要。为此,我直接跳到API文档中,并确保它具有我需要的所有特性。这个结果将进入一个加权列表,其中最好的解决方案位于顶部,所有的故障都被过滤掉。 3)原型——我选择了少数的竞争者,并尝试进行一个小的实现,以实现所有重要的特性。任何最适合这个项目的项目都会获胜。如果出于某种原因,一个问题在实现过程中产生了最佳选择,那么就有可能回到其他实现上。 当然,选择项目的最佳API需要大量的因素。一些重要的因素:
…当然还有很多。这完全依赖于项目。 至于节省时间,我想说,在这里省太多的钱,以后会回来咬你的。选择一个好的库所花费的时间至少和实现它所花费的时间一样重要。另外,想想这条路,六个月后,你会很高兴地编写代码,还是会和一个仇外的开发团队争论。多花几天时间对你的选择做一个全面的评估,可以在以后省去很多痛苦。 |
![]() |
2
2
你的问题的答案取决于你属于普遍性/特异性连续体的位置。你想解决眼前的问题吗?你想对图书馆有更深的了解吗?你很可能处于这些极端之间。 Jeff Atwood has a post 关于程序员如何根据需要在这些级别之间移动。 当第一次开始时,阅读一些关于框架或库(或语言,或任何技术)的高级设计的内容,最好是由其中一个设计者完成。试着确定他们试图解决的问题,设计背后的组织原则是什么,以及核心特性是什么。这将形成概念框架,未来的理解将从中悬挂。 现在跳进去。创造一些东西。 不 复制粘贴某人的代码。相反,当事情不起作用时,请详细阅读错误消息以及这些错误消息的帮助,并找出发生错误的原因。当事情不起作用时,它可能会令人沮丧,但它会迫使你思考,而当你学习时,它也会让你沮丧。 |
![]() |
3
1
1)在谷歌搜索我的任务 2)用 几个不同的图书馆 例如,如果我不知道还有什么选择的话,就不需要把自己绑在露西身上。 3)查看主页上的上次更新日期, 如果在6个月的假期内没有更新 (有些例外) 4)使用库搜索示例任务(尚未阅读教程) 5) 我能理解没有教程的情况吗? 如果是,继续如果不是,从1开始 6) 尝试执行任务 7)看着自己失败 8)阅读教程 9)努力完成任务 10)看着自己失败,在stackoverflow上提问,或者给作者发邮件,在用户组上发帖(如果看起来友好) 11) 如果我能完成这项任务,我会认为这个框架值得学习。 阅读主教程2个小时(如果它不适合2个小时,我只会忽略剩下的内容,直到我需要它为止) |
![]() |
4
1
我没有食谱,从我一直遵循的一系列步骤的意义上说,这主要是因为我学到的每件事都是不同的。有些事情对我来说是全新的(Dojo,例如,我在Java脚本中没有流畅性,这是一个很大的任务),有些只是对以前的知识的增强(IDENEJEB 2很好,所以学习EJB 3在表面上是新的,所有注释,它建立在概念上。) 不过,我的总体策略是将其描述为“螺旋式和公园式”。我试着先圈出风景,了解一般的形状,我 公园 我不知道的概念 得到 不过,别让我担心。然后我深入到一些领域,但再次尝试不要沉迷其中, 螺旋形的 深入主题。希望我开始理解和理解,但也需要停车更多的东西。 最初我想回答以下问题:
我读了很多短文。 然后我想做更多的探索如何。我开始寻找正确的建议。(Java中的Eg.:为什么?) “wibble”。等于(var) 一个有用的结构?) 具体技术和信息来源:
|
![]() |
5
1
如果这是一个小的库/API,有一个小的或没有社区,你可以随时联系开发人员自己并寻求帮助,因为他可能会非常乐意帮助你;他很高兴有更多的人在使用他的API。 |
![]() |
6
1
只要你在提问之前先做作业,邮件列表就是一个很好的资源。 邮寄名单 档案馆 对于我在coreadio相关内容上遇到的大多数问题来说都是无价的。 |
![]() |
7
0
我绝不会读JavaDoc。因为通常没有。如果有的话,很可能不是最新的。所以一个人最好是困惑。 从几分钟内找到的最简单的教程开始。 通常,本教程会在结尾处引导您找到更多的源代码,因此,大多数情况下,您都在一条不断前进、不断深入的路径上。 |
![]() |
8
0
这真的取决于主题是什么以及有多少信息。以身作则是开始一个全新话题的好方法,尤其是如果你对其他类似的库或语言有一定的了解。你可以选择一个你熟悉的主题,然后说“我了解如何使用x实现,让我们看看如何使用y实现”。 |
![]() |
9
-1
那么,你节省时间的策略、方法和技巧是什么呢? 好吧,我搜索。我一般从不提问,更喜欢自己研究。如果情况更糟,我将阅读文档。在某些情况下(例如,当我使用sharpsvn进行一些工作时),我必须查看源代码,特别是测试用例,以获取有关API如何工作的一些信息。 一般来说,我必须诚实,我的大部分“学习”和“学习”都是偶然的。 例如,就在几秒钟前,我发现了如何在c_中获取“recent”文件夹。在看到这个问题之前,我不知道该怎么做,考虑到这个问题很有趣,然后进行搜索。 所以对我来说,真正的“诀窍”是我在论坛上闲逛,回答问题,不小心学到了知识。当我需要研究一些东西的时候,我很有可能对它有所了解,并且搜索更容易,我可以集中精力(通常先实现一个测试程序)的实现,然后从那里开始进行。 |
|
callum · 如何识别数组中与给定序列不匹配的元素? 1 年前 |
![]() |
Sab · 输入为空时,搜索结果元素未隐藏 2 年前 |
![]() |
Chaz Cosby · 如何添加更改api地址的搜索栏? 2 年前 |
![]() |
user3669555 · 多维数组搜索部分单词或短语并移除键 6 年前 |
![]() |
Yohan · 根据用户输入显示或隐藏div 6 年前 |
|
Shasocais · Prolog,基本情况失败的问题 6 年前 |
|
Den · C#在列表框中搜索项目1 6 年前 |
![]() |
Eugene Barsky · Perl 6中多针的索引 6 年前 |