2009-04-24 3 views
4

Je travaille dans ASP.NET depuis plusieurs années (depuis les 1.0 jours!), Mais je n'ai jamais été formellement instruit. Je suis tout à fait capable de faire à peu près tout ce que je veux et j'ai construit plusieurs sites axés sur les données, dont un qui génère plus d'un million de ventes par an (selon le propriétaire). Mais je commence à avoir l'impression que les trous dans mes connaissances réduisent ma productivité. Je lis beaucoup et j'essaie d'apprendre partout où je peux pour essayer de suivre toutes les nouvelles technologies, mais parfois je ne comprends tout simplement pas, et je pense que c'est à cause de mon manque de formation formelle.ASP.NET Apprentissage continu

Quelqu'un a-t-il des idées sur la meilleure façon de combler ces lacunes sans devoir refondre les fondamentaux?

Merci

+0

merci à tous! Je vais essayer plusieurs de vos méthodes suggérées :) – Jason

Répondre

6

1) Lire le code des projets Open Source populaires. Il y en a quelques-unes qui ont de très bonnes pratiques en place.

Je recommande de vérifier BlogEngine.NET. Aussi, si vous êtes plus ambitieux, je suggère de regarder le code pour ASP.NET MVC 1.0.

2) Parfois vous avez besoin de "revenir aux bases" lorsque vous avez travaillé avec un framework particulier depuis une version beaucoup plus ancienne. Dans ce cas, il peut être vraiment utile de prendre un livre qui couvre certaines des fonctionnalités les plus récentes.

est ici un bon livre qui montre de quelques-unes des nouvelles fonctionnalités en C# 3.0:

C# 3.0 Design Patterns

3) Il peut sembler étrange, mais la lecture sur d'autres langues/plates-formes (telles que Ruby on Rails) vous aidera dans la façon dont vous concevez vos classes et code en prenant des conseils sur les bonnes et mauvaises des différentes plates-formes et en les combinant.

4) Lisez quelques livres sur les meilleures pratiques générales et les méthodologies de développement.

Certains de ces livres que je recommande sont:

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

rechercher des personnes mieux que vous et apprendre d'eux.

Prenez des cours ou rejoignez un groupe d'utilisateurs.

3

Je suis dans le même bateau; été développeur .Net pendant 6 ans. Bien que je possède un diplôme de CS, je n'ai aucune formation formelle sur ASP.Net; Je l'apprends au travail à mesure que les projets se présentent.

J'ai trouvé que la meilleure façon de comprendre ce qu'il faut apprendre est de garder un œil sur les blogs des développeurs .Net. Certains je suis:

David Hayden http://www.davidhayden.com/blog.aspx CodingHorror.com (vous pourriez être familier avec elle ;-) Scott Hanselman http://www.hanselman.com/blog/

Habituellement de lire leurs blogs, je prends sur ce que les dernières solutions .Net qui sont là-bas et pointez-moi dans la direction de la nouvelle technologie, je devrais regarder plus loin. Cependant, dans l'ensemble, je ne peux que vous donner les conseils que je donne aux développeurs juniors de mon entreprise; Réalisez que vous ne pouvez probablement pas tout savoir, mais toujours être désireux d'apprendre. Bonne chance!

+0

Ne pas oublier le blog de Phil Haack: http://haacked.com/ –

0

Ceci est une question assez vaste, et difficile à aborder. Je me perçois dans un espace similaire à vous, donc je suppose que je peux élaborer sur ce que j'ai mis l'accent sur pour améliorer en tant que développeur qui pourrait être d'une certaine aide. J'écris principalement des applications Web liées au commerce et au commerce, et mon objectif était de développer une solide compréhension de la séparation des préoccupations, de la conception orientée domaine et des modèles de conception d'entreprise.

Certains livres sur la conception générale de logiciels que j'ai trouvé révélateur étaient Code Complete par Steve McConnell et Head First Design Patterns par Freeman & Freeman. J'ai lu SO, Code Better, DDD Step by Step, et un certain nombre d'autres blogs régulièrement. Disséquer le code bien écrit des autres et apprendre d'eux. Apprenez de vos pairs. Si vous êtes dans un environnement de travail étouffant qui ne vous donne pas l'opportunité de grandir en tant que développeur, envisagez de chercher un nouvel emploi. Apprendre une nouvelle langue dans un cadre complètement différent - Je me suis enseigné Ruby on Rails à la maison et cela m'a donné une perspective intéressante sur le travail ASP.NET que je fais dans le commerce. Étant donné que vous êtes un développeur Web ASP.NET, l'apprentissage de MVC.NET vous aidera certainement à réfléchir au développement frontal d'une manière nouvelle et rafraîchissante.

1

Si vous êtes à la recherche à des conférences, envisager de trouver un Code Camp local. Ces conférences sont souvent très discrètes, mais ont un excellent contenu d'information. Ils impliquent des présentateurs locaux et des participants afin que vous puissiez établir vos contacts et un ensemble de personnes que vous pouvez gérer lorsque vous avez besoin d'aide. En outre, vous pouvez rechercher (ou démarrer) un groupe .NET local dans lequel vous pouvez apprendre ensemble. Ceux-ci peuvent être difficiles à décoller, mais lorsqu'ils sont bien faits, ils peuvent être une excellente source d'apprentissage communautaire.

+1

Je recommanderais également http://meetup.com, vous trouverez probablement un petit utilisateur groupes dans votre région qui aident à faire tirer les cellules du cerveau. – bendewey

3

Je peux absolument identifier. Je programme depuis 1997 et je n'ai vraiment aucune formation officielle à proprement parler. En ce qui concerne ASP.NET, tout ce que j'ai appris a été à travers le code ouvert (Community Server, BlogEngine.NET, les autres kits de démarrage ASP.NET), les livres, LearnVisualStudio.net, et constamment jeté dans le feu.

J'ai un complexe d'infériorité MASSIVE car je me demande toujours "l'ai-je fait de manière intelligente ou inexpérimentée". Tout ce que je sais, c'est que mes clients sont heureux, les erreurs qui se produisent sont rares et sont réparées rapidement, et je continue à travailler. Heureusement, j'ai une passion pour mon travail et c'est ce qui me pousse à continuer à m'améliorer (même si c'est lent).

Si vous êtes un «personne du peuple» alors je pense que les réunions de groupe d'utilisateurs sont une excellente ressource. Je suis un peu introverti et à moins que quelqu'un qui est intelligent se présente et me serre la main, je me fie à la présentation du conférencier pour m'apprendre quelque chose de nouveau. Probablement pas la meilleure façon d'y aller et probablement aussi pourquoi je ne vais pas beaucoup.

Mais encore une fois, je voudrais souligner les projets ouverts, en particulier Community Server.

1

Cherchez des moyens intéressants de briser vos habitudes établies - même avec une perte de productivité.

Sinon, il semble que vous soyez déjà dans une bonne position. Vous pouvez répondre aux exigences actuelles et sonner comme si vous pouviez trouver de nouveaux trucs en cas de besoin. Vraiment, la meilleure façon d'apprendre de nouvelles techniques est de travailler sur un projet différent, même si cela implique de changer de travail. Si vous avez une expérience pertinente et continue depuis 2001, vous devriez être en mesure de choisir vos projets.

J'ai codé PHP sur un projet en cours et ça a été une rupture intéressante avec les webforms. Si quelque chose, je reçois une bonne perspective sur les deux modèles et vraiment hâte de faire un peu de travail dans MVC.

1

Je vais probablement obtenir quelques -1 pour cela, mais en tant que développeur ASP.NET compatriote, je ne pense pas que vous ayez vraiment besoin d'apprendre tout ce que le framework a à offrir. La raison pour laquelle je dis cela est que, au fil des années, mon manque de connaissance de toutes les petites commodités d'ASP.NET m'a amené à écrire des applications web plus performantes et plus robustes pour Windows. Modèles de conception équilibrés (séparation des préoccupations) SANS OVERDOING IT fera plus d'une «meilleure» application Web ASP.NET que l'utilisation de tous les contrôles et outils fournis avec le framework.

Le cas d'exemple est le contenu ajax que vous obtenez avec ASP.NET, ainsi que la liaison de données. Comme ASP.NET était en retard dans le jeu avec Ajax, j'ai commencé avec mon propre ajax wrapper (basé sur un livre ajax début) et ensuite passer à jQuery. Mes collègues ne jurent que par les UpdatePanels et les contrôles tiers, et souvent l'expérience de l'utilisateur est pire et plus confuse qu'un post-retour régulier (et nous devons injecter du javascript pour le rendre plus performant et plus simple). En ce qui concerne la liaison de données, je n'ai pas encore trouvé un contrôle en conserve (de Microsoft ou de toute tierce partie) qui gère la liaison bidirectionnelle mieux que le cadre Rick Strahl est revenu dans les jours 1.1. Nous avons construit un framework en plus d'un papier et quelques classes de base qu'il a publiées, et je n'ai pas encore vu quelque chose qui puisse gérer les données dans ASP.NET (bien ... en plus de WPF/Silverlight ... ces frameworks vraiment cloué IMO). Donc, pour moi, le chemin vers la mise à niveau de vos compétences ASP.NET consiste à trouver de bons moyens de séparer votre logique d'entreprise en composants logiques de la manière la plus propre possible, et de tirer le meilleur parti de C# et JavaScript (et/ou une bibliothèque d'encapsuleur JS comme jQuery). Pour moi, venant d'un environnement LAMP avant d'apprendre ASP.NET, j'adore C# et Visual Studio, mais je ne suis pas un grand fan des contrôles ASP.NET de haut niveau.

+0

Pas de problème, je suppose que vous allez adorer ASP.NET MVC venant de LAMP :) –

0

Si vous pouvez vous permettre de gagner de l'argent et du temps (ou que vous pouvez demander à votre entreprise de payer pour cela), suivez un cours au DevelopMentor. Ils ont des cours à travers le pays et toute l'année. Ils sont généralement une semaine et sont en profondeur.

Questions connexes