我怎样才能成为一个更好的 C# 程序员?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/518609/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How can I become a better C# programmer?
提问by Kredns
When you can create classes and do the simple stuff (GUI, reading text files, etc...), where do I go from here? I've started reading Code Complete 2nd Edition which is great but is more of a general programming book. What topics should I learn next?
当您可以创建类并执行简单的操作(GUI、读取文本文件等)时,我该何去何从?我已经开始阅读 Code Complete 2nd Edition,它很棒,但更像是一本通用的编程书籍。我接下来应该学习哪些主题?
采纳答案by Tom
I'd argue that, at some point, it's no longer about topics. It's about doing stuff. You gotta write code an you've gotta write a lot of it.
我认为,在某些时候,它不再与主题有关。这是关于做事。您必须编写代码,并且必须编写大量代码。
People will often tell you to find some niche problem to try and solve when learning a new language and that's perfectly fine, but if there's an application or feature of an application that you really enjoy using or really admire, attempt to build it (or parts of it) yourself. Even more so, if you find your self wondering Hey, how does [this application] do that?!Try to build it.
人们经常会告诉你在学习一门新语言时找到一些小问题来尝试解决,这完全没问题,但是如果有一个应用程序或应用程序的功能你真的很喜欢使用或很欣赏,尝试构建它(或部分它)你自己。更重要的是,如果您发现自己想知道嘿,[这个应用程序] 是如何做到的?!尝试构建它。
Many of your projects may never see the light of day beyond your desktop, but the learning, experience, and tools you'll have under your belt will be something that you can carry over to each subsequent project.
您的许多项目可能永远不会超出您的桌面,但您所拥有的学习、经验和工具将是您可以延续到每个后续项目的东西。
You never know, though, one of those little hobby projects may end up solving a problem for someone.
但是,您永远不知道,其中一个小爱好项目最终可能会为某人解决问题。
回答by twk
Write a desktop RSS reader. You'll get exposure to a bunch of different areas (parsing files, graphical apps, HTTP, the flakiness of the internet), and you might actually use the result on a daily basis. Picking a specific goal or feature to work towards will help you learn more quickly than something abstract.
编写一个桌面 RSS 阅读器。您将接触到许多不同的领域(解析文件、图形应用程序、HTTP、互联网的脆弱性),并且您实际上可能每天都在使用结果。选择一个特定的目标或功能来努力将帮助你比抽象的东西学得更快。
回答by paxdiablo
Write code, lots of it. And not those fluffy little HelloWorld-type programs.
写代码,很多。而不是那些蓬松的 HelloWorld 类型的小程序。
Find either a real project that interests you or something you've already written that can be converted to C# and do that. Only by doing (and, unfortunately, making copious mistakes) do we learn.
找到您感兴趣的真实项目或您已经编写的可以转换为 C# 的项目,然后执行此操作。只有通过实践(而且,不幸的是,犯了很多错误)我们才能学习。
回答by itowlson
Not to disagree with the folks who are saying "write stuff," but one topic that you should learn about next is the underlying fundamentals of the CLR -- the workings of the engine that sits behind all of these libraries. A good resource for this is Richter's "CLR Via C#."
不要不同意那些说“写东西”的人,但是接下来您应该了解的一个主题是 CLR 的基本原理 —— 位于所有这些库背后的引擎的工作原理。一个很好的资源是 Richter 的“CLR Via C#”。
回答by BlackTigerX
practice, look at open source projects, understand completely what it does and how it does it, especially complex libraries like mocking frameworks, ORM, etc
练习,查看开源项目,完全理解它做什么以及它是如何做的,尤其是像模拟框架、ORM 等复杂的库
回答by Lemmy
Learn another language and apply the learned knowledge to C#.
学习另一种语言并将学到的知识应用到 C# 中。
F#, Scala, Haskell - lots to pick :)
F#、Scala、Haskell - 很多选择:)
回答by Lemmy
Get ReSharper, keep all recommendations enabled and understand them.
获取 ReSharper,启用所有建议并理解它们。
回答by Kim Major
I agree with most of the answers so far, but I think that if you want to improve as a developer you can benefit greatly by not running solo. Try to find someone who can coach you. Over the years I've made my greatest leeps in depth of understanding by teaming up with programmers who were smarter and more experienced than I was. (They still are :-) )
到目前为止,我同意大多数答案,但我认为,如果您想作为一名开发人员进行改进,那么不单独运行可以大大受益。试着找一个可以指导你的人。多年来,通过与比我更聪明、更有经验的程序员合作,我在深入理解方面取得了最大的成就。(他们仍然是:-))
回答by JMS
Visit CodePlex.comand GitHub.comand look for open source projects which you can contribute towards.
访问CodePlex.com和GitHub.com并寻找您可以贡献的开源项目。
回答by Avram
looking at q/a of stackoverflow, c# topic. :-D
查看 stackoverflow 的 q/a,c# 主题。:-D