2009-04-24 75 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。他們在全國和全年開設課程。他們通常爲期一週,並且深入。