你如何快速学习班级等级?

时间:2010-04-24 14:32:05

标签: .net programming-languages

我不喜欢编程的东西是学习新的API。例如,现在我正在尝试学习Windows Identity Foundation。令人沮丧的是因为我将花费大量时间来学习一些类的工作方式,并且实际上只编写了几行代码。

在.NET中,有很多类型我似乎花费更多时间在msdn中搜索类而不是编写代码。它还会在我工作时中断我的工作流程,因为我必须输入一些内容而不是查找内容。

显然,我不必为基础课做这个。每当新事物发生时,肯定会有一些人在想。然后,我经常不会重复使用这个课程来真正地审查它或将其付诸行动。

我想知道是否有人找到了记忆(或更有效地查找)这些对象模型层次结构的方法?

7 个答案:

答案 0 :(得分:8)

您可以完全学习新API的想法很久以前就已经死了,可能是Windows 3.0。 Windows API变得如此复杂,以至于我们大多数人都无法全面学习它,例如学习所有UNIX系统调用的方式。并且没有必要 - 在线文档,易于搜索,使学习变得不必要。

当然,你需要知道的是API(或类库)是如何组织的,以及它的功能是什么,但是学习函数调用X的第三个参数是没有意义的。

答案 1 :(得分:2)

绘制一些UML图并将它们发布到显示器旁边可以提供帮助。否则,我认为真正获得新类接口的唯一方法就是使用它们。

不幸的是,花费更多时间查看文档而不是编写代码是现代编程环境的典型特征。

答案 2 :(得分:1)

很久以前,当我学习Java及其Collection类(或SWING,或AWT)时,我就处于你的位置。

以下是我所做的一些步骤以及这些步骤的结果:

  • 没有费心做笔记,继续使用它=>只记得最常用的课程
  • 采取无组织的笔记=>同样的结果,记住最常用的课程
  • 简单类图=>改善,但不完整
  • 简单的类图,但完成了每个组件组织的子类(Java中的包)=>大奖!

更多建议:

  • 消除已弃用的课程
  • 找一个符号来标记一个类是线程安全的(放一个TS或其他东西)
  • 你可以省略最少使用的子类(也许),随着你的冒险

简单类图的一个例子:

与此相比(不那么简单):

希望有所帮助。

答案 3 :(得分:0)

通常我不会像学习API正在做什么的广泛概念那样费心学习API。如何做到这一点。

因此,通常从API的高级块开始(通常在文档中)&然后针对你想要从API获得的东西&让它与这些方面合作。

是的,会有一个背部&文件和文件之间代码有时,但随着您对API的熟悉程度越来越高,您将开始注意模式和代码风格& API的其他领域将更自然地呈现给您(假设它是一个设计良好的API:)

HTH。

答案 4 :(得分:0)

该死的,我只是觉得这是我变老了!!!

我使用JMS,EJB,JNDI,JDBC,JSP,Servlet,Struts,Struts,JTA,Swing,POI,GWT,GAE,JDO,IBM MQ MQ,JNI,XML,SAX,DOM,C ++编写Java代码, WIN32以及我们自己的类库,可能还有一些我不记得了。

当我需要在技术之间切换时,很难记住所有API。 现在使用的一些工具非常优越,可以使用其中一种新技术启动新项目。

  • Eclipse和Visual Studio都有 自动完成。
  • Google是一个很大的帮助 - 每天使用它。
  • 在线文档。

此外,我们创建了自己的工作辅助工具,即逐步记录如何执行某些操作,即将分支合并到版本控制,部署到平台。我们将这些项目保存在我们小组的Wiki中。

答案 5 :(得分:0)

这里没有具体的答案作为答案。

这是成为程序员的必要部分。但是,您可以选择在您决定使用的框架中非常挑剔。

一个好的框架

  • 易于拾取和使用,无需文档。它只是按照你期望的方式工作
  • 尽管有子弹#1,仍然有很好的文档。
  • 极简主义。完成工作的代码/类/方法的数量最少。

然而,有些时候你没有选择;在这种情况下,唯一的办法就是在战壕里弄脏。从示例代码开始 - 测试应用程序 - 向已经在那里做过/做过博客的人学习。

答案 6 :(得分:0)

是的,记住所有这些API也是我关注的问题......

我的2美分(除了保持在线文档)是编写使用我想学习的功能的测试套件代码。关键是我相信理解某些API的最佳方法是让它工作,如果你只是阅读它,你就不能确定你以正确的方式理解它。并且必须让事情有效,你通常可以在需要理解的部分之间进行分类(奇怪的是,“硬”部分通常是关于设置的细节)以及你可以留下以后的部分。我不久前以这种方式提供了一个新的绘图库,我还没有尝试过每一个绘图原语......

我像编写程序中的任何单元测试那样编写测试代码,尽量保持简单易懂。这些测试成为我个人在线文档的一部分,我会在必要时复制粘贴并进行调整。

显然我无法以这种方式测试所有内容,但是在没有正在进行的项目压力的情况下尝试一些典型案例通常对理解新API非常有帮助,而且我用这些测试套件与我的同事交流。