tips - ¿Cómo puedo convertirme en un mejor programador de C#?
tips de programacion (22)
Cuando puedes crear clases y hacer las cosas simples (GUI, leer archivos de texto, etc.), ¿a dónde voy desde aquí? Empecé a leer Code Complete 2nd Edition, que es genial, pero es más un libro de programación general. ¿Qué temas debo aprender a continuación?
Aprende otro idioma y aplica el conocimiento aprendido a C #.
F #, Scala, Haskell - mucho para elegir :)
Con un nuevo idioma, intenta resolver algunos de los problemas de Project Euler . ¡Mejorando las matemáticas y la codificación al mismo tiempo!
Escriba el código usted mismo, y lea el código que ha sido escrito sea otra persona. Pero, nadie más; de una persona de la que está seguro de que escribe un código bueno, limpio e inteligente.
Escriba un lector de RSS de escritorio. Obtendrá exposición a un montón de áreas diferentes (análisis de archivos, aplicaciones gráficas, HTTP, la falta de conexión a Internet) y es posible que utilice el resultado diariamente. Escoger un objetivo o característica específica para trabajar te ayudará a aprender más rápido que algo abstracto.
Escribir código, mucha cantidad. Y no esos pequeños programas esponjosos tipo HelloWorld.
Encuentre un proyecto real que le interese o algo que ya haya escrito que se pueda convertir a C # y que lo haga. Solo haciendo (y, por desgracia, cometiendo errores copiosos) aprendemos.
Estoy de acuerdo con la mayoría de las respuestas hasta ahora, pero creo que si quieres mejorar como desarrollador, puedes beneficiarte enormemente si no corres solo. Intenta encontrar a alguien que pueda entrenarte. A lo largo de los años he hecho mis mejores búsquedas en profundidad de comprensión al asociarme con programadores que eran más inteligentes y con más experiencia que yo. (Todavía son :-))
Intente leer el código fuente de Mono para ver cómo se ve un compilador de C # escrito en C #. Aprenderá mucho sobre el lenguaje, los compiladores y la arquitectura de la computadora. Este es el gran beneficio de un proyecto con fuente: puede aprender de ello.
La mejor manera de aprender es realmente atascarse y construir algunas aplicaciones interesantes, sitios web, lo que sea. Todavía es una buena idea mantenerse al día con los diferentes sitios web para aprender cosas nuevas que quizás no hayas encontrado.
Tal vez construir el próximo facebook o google :)
No debe estar en desacuerdo con las personas que dicen "escribir cosas", pero un tema sobre el que debe aprender a continuación son los fundamentos subyacentes del CLR: el funcionamiento del motor que se encuentra detrás de todas estas bibliotecas. Un buen recurso para esto es "CLR Via C #" de Richter.
Obtenga ReSharper, mantenga todas las recomendaciones habilitadas y entiéndalas.
También una buena manera es involucrarse en un proyecto pequeño con varios miembros (quizás amigos), para que pueda aprender unos de otros y ver cómo otras personas hacen sus cosas.
Visite CodePlex.com y GitHub.com y busque proyectos de código abierto con los que pueda contribuir.
Yo diría que, en algún momento, ya no se trata de temas . Se trata de hacer cosas . Tienes que escribir el código y tienes que escribir mucho.
A menudo, la gente te dirá que encuentres algún problema de nicho para intentar resolver al aprender un nuevo idioma y eso está perfectamente bien, pero si hay una aplicación o función de una aplicación que realmente disfrutas usar o realmente admiras, intenta construirla (o partes) de eso) usted mismo. Aún más, si te encuentras preguntándote Hey, ¿cómo hace [esta aplicación] hacer eso? Intenta construirlo.
Es posible que muchos de sus proyectos nunca vean la luz del día más allá de su escritorio, pero el aprendizaje, la experiencia y las herramientas que tendrá a su alcance serán algo que podrá transferir a cada proyecto posterior.
Sin embargo, nunca se sabe que uno de esos pequeños proyectos de hobbies puede terminar resolviendo un problema para alguien.
escribe buenas pruebas unitarias y trata de obtener la cobertura del código lo más alto posible
mirando q / a de , tema c #. :-RE
practicar, ver proyectos de código abierto, comprender completamente lo que hace y cómo lo hace, especialmente bibliotecas complejas como marcos de burla, ORM, etc.
Conozca las mejores prácticas y la ingeniería de software y cómo aplicarlas a C #.
Aprenda Control de versiones, TDD, Desarrollo impulsado por dominio, Integración continua, MVC, MVP, Un puñado de patrones: fachada, fábrica, depósito vs. registro activo, etc.
Aprenda herramientas que lo ayudarán a evitar reinventar la rueda: Validation Application Block, NHibernate, etc.
Encontré este e-book gratuito de los chicos de CodeBetter hace unos días: texto del enlace
No lo he leído todo, pero parece una buena lectura.
CLR a través de C # ¡un gran libro! me ayudó (todavía me ayuda) a entender mucho el idioma, también puedes descargar el libro de especificaciones del lenguaje c #
Si desea convertirse en un mejor C # (reemplace con cualquier otro idioma), trabaje en aplicaciones a gran escala, del tipo que tiene ciertas características en ''musts'' que usted sabe que aún no tiene idea de cómo realizarlas. Todos los sencillos que se encuentran en torno a estos núcleos "de la tuerca a la grieta" también te ayudarán. Siempre es bueno acostumbrarte a pensar en grandes dependencias entretejidas en proyectos que te obligan a pensar y diseñar la arquitectura de tu producto final. en la delantera.
Esto no es particularmente relacionado con c #, pero si quieres convertirte en un mejor desarrollador, este tipo de proyectos (que implícitamente incluyen mucha (y) pobre) codificación y pruebas, etc.) son los mejores campos de aprendizaje.
Si ninguno de los clientes quiere ''darle la oportunidad'' de trabajar en un proyecto de este tipo con su conjunto de habilidades actual, siga adelante (o en cualquier caso) y comience a codificar en un proyecto de código abierto y mantenga amigos, colegas y lugares como involucrado.
Esté preparado y abierto para cometer ''errores'' (como podría juzgarlos después) ... porque solo con un montón de errores usted puede ver el camino estrecho / ventoso entre ellos.
Dicho esto, aprende a no sobre-diseñar o llegar demasiado perfeccionista demasiado temprano. Se realizarán errores, los errores pueden permanecer en un producto final teniendo en cuenta ciertas condiciones de impacto, etc., aprender a vivir con eso como ingeniero / desarrollador.
- Trabaja en equipo con mejores programadores: consigue un empleo
- Trabajar en grandes proyectos de código abierto.
No estoy de acuerdo con la mayoría de la gente de que el aprender construyendo cosas solo es la mejor manera.
Te sugiero que leas C # en profundidad . Es una inmersión profunda en C # que mejorará enormemente su comprensión del idioma. Se rumorea que el autor, Jon Skeet, es un lurker en este sitio ...
- Leer el código
- Escribir código
- Código de prueba
- Lea libros ( algunas sugerencias ), blogs, etc.
- Repetir