2009-04-24 76 views
4

我一直在ASP.NET工作好几年(自1.0天以来!),但我从未被正式指示过。我完全有能力做我想做的任何事情,并且我已经建立了几个生产级数据驱动的网站,其中包括一年销售额超过百万的网站(根据所有者)。但我开始感觉到,我知道的漏洞正在拖垮我的生产力。我读了很多东西,尽量学习所有新技术,但有时我只是不明白,我认为这是因为我缺乏正式的培训。ASP.NET持续学习

没有人有填补这些差距的最佳途径的任何想法,而不必老调重弹的基本面?

谢谢

+0

谢谢大家!我会尝试你的几个建议的方法:) – Jason 2009-04-24 04:07:05

回答

6

1)阅读流行的开源项目代码。有一些有一些非常好的实践。

我建议检查出BlogEngine.NET。另外,如果你更有雄心壮志,我​​会建议您查看ASP.NET MVC 1.0的代码。

2)有时你需要“回到基本”当你一直在使用,因为更早版本的特定框架。在这种情况下,选择一本涵盖一些新功能的书可能会非常有用。

这里是一本好书,它显示出一些新的特点在C#3.0:

C# 3.0 Design Patterns

3)似乎有些奇怪,但在其他语言/平台(如Ruby on Rails的阅读了)将帮助您设计类和代码的方式,通过了解不同平台的优缺点,并将它们结合起来。

4)阅读关于一般最佳实践和开发方法的书籍。

有些书我建议是:

The Pragmatic Programmer: From Journeyman to Master

Practices of an Agile Developer: Working in the Real World

Code Complete: A Practical Handbook of Software Construction

1

找出比你更好的人并向他们学习。

参加一些课程或加入一个用户组。

3

我在同一条船上; 6年来一直是.Net开发人员。虽然我拥有CS学位,但我没有任何正式的ASP.Net培训;随着项目出现,我在工作中学习它。

我发现要弄清楚什么学习为了保持你的眼睛上的.Net开发人员博客的最佳途径。我的一些如下:

大卫·海登http://www.davidhayden.com/blog.aspx CodingHorror.com(你可能熟悉它;-) 斯科特Hanselman的http://www.hanselman.com/blog/

阅读他们的博客,我领悟最新的.NET解决方案

通常认为在那里,并指出我应该进一步研究新技术的方向。

总体来说,我只能给你,我给我的公司初级开发者的意见;意识到你不可能期望知道一切,但总是渴望学习。祝你好运!

+0

不要忘了菲尔哈克的博客:http://haacked.com/ – 2009-04-24 02:12:09

0

这是一个相当广泛的问题,很难解决。我认为自己与你有相似的空间,所以我想我可以详细说明我作为一名开发人员可以提供哪些帮助而一直致力于改进。

我主要撰写商业和商业相关的网络应用程序,我的重点是对关注点分离,领域驱动设计和企业设计模式的深入理解。

一些关于通用软件设计的书籍,我发现它的启示是史蒂夫麦康奈尔的代码完成和Freeman的头部设计模式& Freeman。

我看了那么,Code BetterDDD Step by Step,以及其他一些博客定期。

剖析以及编写的代码来自他人,并从中学习。向同行学习。如果您处于一个令人窒息的工作环境,并不能让您有机会成长为一名开发人员,请考虑寻找新工作。

在一个完全不同的框架中学习一门新的语言 - 我一直在家里自学Ruby on Rails,它给了我一个关于我在商业上做的ASP.NET工作的有趣视角。

鉴于您是一名ASP.NET Web开发人员,学习MVC.NET将以一种全新的方式帮助您思考前端开发。

1

如果您正在寻找在会议上,考虑找一个地方Code Camp。这些会议往往非常低调,但具有出色的信息内容。他们涉及当地的主持人和与会者,这样你就可以建立你的联系人和一群人,当你需要帮助时你可以将事情过去。另外,您可能希望找到(或启动)一个可以一起学习的本地.NET组。这些可能很难实现,但如果做得好,可以成为社区学习的极好来源。

+1

我也推荐http://meetup.com,你可能会发现一些小用户你所在地区的团体可以帮助这些脑细胞开火。 – bendewey 2009-04-24 02:35:56

3

我可以绝对识别。自1997年以来我一直在进行编程,实际上没有任何正式的培训来谈论。关于ASP.NET,我学到的所有东西都是通过开放代码(社区服务器,BlogEngine.NET,其他ASP.NET入门套件),书籍,LearnVisualStudio.net以及不断被抛入其中。

我有一个巨大的自卑感,因为我一直在怀疑,“我做这个聪明的方法或经验不足的方式”。我所知道的是,我的客户很高兴,发生的错误很少,而且很快就会得到解决,而且我一直在努力工作。

幸运的是我有激情对我的工作,这就是驱使我不断地改善(慢尽管它可能是)。

如果你是“和人打交道”,那么,我认为用户组会议是一个很好的资源。我有点内向,除非聪明的人伸手过来握我的手,我非常依赖演讲者的演讲来教给我一些新的东西。可能不是最好的方式去,也可能为什么我不去那么多。

但是我再次强调开放项目,尤其是社区服务器。

1

查找有趣的方式来打破你建立patters - 即使在生产力损失。

否则,它听起来就像你已经在一个漂亮的好去处。您可以按照当前的要求和声音提供,就像您可以在需要时拾取新技巧一样。

真的,学习新技术的最好的方法是在不同的项目上工作 - 即使这意味着换工作。如果你自2001年以来拥有相关的和持续的经验,你应该能够选择你的项目。

我已经在当前项目编码PHP,它已经从网络表单,一个有趣的突破。如果有的话,我对这两种模型都有了很好的看法,并且非常期待在MVC中做一些工作。

1

我可能会得到一些-1的这一点,但作为一个老乡ASP.NET开发人员,我不认为你真的需要学习所有的框架所提供的。我之所以这么说,是因为多年来,我对ASP.NET的所有可爱的小便利的知识缺乏,使我为Windows编写出性能更好,更强大的Web应用程序。平衡设计模式(关注点分离)而不是过度IT将使用更多“更好”的ASP.NET Web应用程序,而不是使用框架附带的所有控件和工具。

典型的例子是使用ASP.NET得到AJAX的东西,也数据绑定。由于ASP.NET在使用Ajax的游戏中很晚,我开始使用自己的ajax包装器(基于早期的ajax书),然后转向jQuery。我的同事们都以UpdatePanels和第三方控件为借口发誓,用户体验往往比普通的后期发布更加糟糕和混乱(然后我们必须注入JavaScript以使其表现更好,更加无缝)。至于数据绑定,我还没有找到一个处理双向绑定的控件(来自微软或任何第三方),比框架Rick Strahl在1.1天内提出的要好。我们在一篇论文和他发布的一些基类的基础上构建了一个框架,并且我还没有看到我认为在ASP.NET中处理数据绑定更好的东西(除了WPF/Silverlight之外......)这些框架真的钉它IMO)。

因此,对我来说,升级ASP.NET技能的途径是想出一些很好的方法来以最简洁的方式将业务逻辑分解为逻辑组件,并学习C#和JavaScript(和/或像jQuery这样的JS包装库)。对于我来说,在学习ASP.NET之前来自LAMP背景,我绝对喜欢C#和Visual Studio,但我并不是那些高级ASP.NET控件的粉丝。

+0

没问题,我猜你会爱上来自LAMP的ASP.NET MVC :) – 2009-04-24 21:01:39

0

如果你能负担得起的金钱和时间(或者可以得到你的公司为它付出),参加课程的DevelopMentor。他们在全国和全年开设课程。他们通常为期一周,并且深入。