Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我怎样才能成为一名更好的C#程序员?_C#_Code Complete - Fatal编程技术网

我怎样才能成为一名更好的C#程序员?

我怎样才能成为一名更好的C#程序员?,c#,code-complete,C#,Code Complete,当您可以创建类并执行简单的操作(GUI、读取文本文件等)时,我该怎么办?我已经开始阅读代码完整第二版,这是伟大的,但更一般的编程书。下一步我应该学习哪些主题?我认为,在某种程度上,它不再是关于主题的。这是关于做事情的。你得写代码,你得写很多 人们通常会告诉你,在学习一门新语言时,要找到一些小问题来尝试解决,这很好,但如果有一个应用程序或应用程序的功能是你真正喜欢使用或欣赏的,那就尝试自己构建它(或它的一部分)。更重要的是,如果你发现自己在想,嘿,[这个应用程序]是如何做到这一点的尝试构建它 你的

当您可以创建类并执行简单的操作(GUI、读取文本文件等)时,我该怎么办?我已经开始阅读代码完整第二版,这是伟大的,但更一般的编程书。下一步我应该学习哪些主题?

我认为,在某种程度上,它不再是关于主题的。这是关于做事情的。你得写代码,你得写很多

人们通常会告诉你,在学习一门新语言时,要找到一些小问题来尝试解决,这很好,但如果有一个应用程序或应用程序的功能是你真正喜欢使用或欣赏的,那就尝试自己构建它(或它的一部分)。更重要的是,如果你发现自己在想,嘿,[这个应用程序]是如何做到这一点的
尝试构建它

你的许多项目可能永远看不到桌面之外的光明,但你将拥有的学习、经验和工具将是你可以带到每个后续项目中的东西


不过,你永远不会知道,这些小爱好项目中的一个可能最终会为某人解决一个问题。

编写一个桌面RSS阅读器。你将接触到一系列不同的领域(解析文件、图形应用、HTTP、互联网的脆弱性),你可能每天都会使用结果。选择一个特定的目标或特性来努力,将帮助你比抽象的东西学习得更快

写代码,很多。而不是那些蓬松的HelloWorld类型的程序


找一个你感兴趣的真实项目或者你已经写过的可以转换成C语言的东西,然后去做。我们只有通过实践(不幸的是,犯了大量错误)才能学到东西。

不要不同意那些说“写东西”的人,但接下来你应该学习的一个主题是CLR的基本原理——所有这些库背后的引擎的工作原理。里希特的“通过C#实现CLR”是一个很好的资源。

实践,看看开源项目,完全理解它做什么以及它是如何做的,特别是复杂的库,如模拟框架、ORM等

学习另一种语言并将所学知识应用到C#


F#,Scala,Haskell-选择很多:)

使用ReSharper,启用所有建议并理解它们。

到目前为止,我同意大多数答案,但我认为如果你想作为一名开发人员提高,你可以通过不单独运行而受益匪浅。试着找一个能指导你的人。这些年来,我通过与比我更聪明、更有经验的程序员合作,在深度理解方面取得了最大的成就。(它们仍然是:-)

访问并寻找您可以贡献的开源项目。

查看stackoverflow的q/a,c#topic.:-D

最好的学习方法是真正地投入进去,构建一些很酷的应用程序、网站等等。这仍然是一个好主意,跟上各种网站,学习新的东西,你可能不会遇到,虽然


也许用一种新的语言建立下一个facebook或google:)

,尝试解决一些问题。同时改进数学和编码还有一个很好的方法,就是与多个成员(可能是朋友)一起参与一个小项目,这样你就可以互相学习,了解其他人是如何做事的。

  • 读码
  • 编写代码
  • 测试代码
  • 阅读书籍(),博客等
  • 重复

编写良好的单元测试,并尝试获得尽可能高的代码覆盖率

自己编写代码,并阅读他人编写的代码。但是,不是其他任何人;你肯定他写的代码好、干净、聪明。

试着阅读Mono源代码,看看用C语言编写的C编译器是什么样子的。您将学到很多关于语言、编译器和计算机体系结构的知识。这是使用源代码的项目的最大好处—您可以从中学习。

学习最佳实践和软件工程,以及如何将其应用于C

学习版本控制、TDD、领域驱动开发、持续集成、MVC、MVP,以及一些模式:facade、factory、repository vs.active record等

学习有助于避免重蹈覆辙的工具:验证应用程序块、NHibernate等

几天前,我从CodeBetter的同事那里找到了这本免费电子书:

我还没有全部读过,但它看起来像是一本好书。

  • 团队中与更好的程序员一起工作-找到工作
  • 从事大型开源项目

我不同意这里的大多数人所说的,通过自己构建东西来学习是最好的方法。

CLR via C#一本好书!!帮助(仍在帮助)我理解该语言。如果你想成为更好的c语言(取代任何其他语言),在大规模应用程序上工作,你可以下载c语言规范书,这种应用程序中有一些“必须”的功能,你知道你还不知道如何实现它们。所有围绕这些核心“螺母开裂”的简单方法也会帮助你。。习惯于在项目中考虑大型的、相互交织的依赖关系总是很好的,这些依赖关系迫使您预先考虑并规划最终产品的体系结构

这与c无关,但如果你想成为一名更好的开发人员,这类项目(包括大量((c)精益)编码和测试等)是最好的学习场所

如果没有一个客户希望“给你机会”用你目前的技能完成这样一个项目,那就继续(或者在任何情况下)开始编写开源项目的代码,并与朋友、同事和stack这样的地方保持联系