学习C#并陷入车辙[关闭]


12

我已经学习C#/。NET 4.0大约2/3个月了,这是我的第一门认真的编程语言(之前我研究过PHP,HTML,CSS,JavaScript和VBA,但从未深入研究过),开始变得有点卡住:

  • 由于缺乏“大”项目,我的学习达到了顶峰。
  • 缺乏复杂项目的工作使我对自己的能力产生怀疑。

2周前,我接受了一名初级程序员工作的面试,并设法回答了我的大部分问题,但由于缺乏实践经验,我仍然没有找到工作,我不确定该怎么做。做!

就像我之前说过的,我不会为开源项目做贡献,但是我不知道从哪里开始,我认为“大”项目只想要优秀的程序员:(

是否有任何形式的在线编程测试可以向我展示我目前的“好”(或“坏”)?:)

谢谢你的帮助。

Answers:


8

我会问你对什么感兴趣(兴趣爱好等等),然后看看你能提出哪些与之相关的更大项目。如果您只是想练习,也可以查看欧拉计划,但是我认为您个人感兴趣的项目更好。


这是问题所在,我想我不确定自己喜欢的领域在编码中。虽然总的来说,我喜欢汽车/自行车,电视节目/电影,但是围绕这些的许多项目已经完成。我也害怕尝试一些非常复杂的事情,我做过的最复杂的事情是XNA中的人类/怪物事物,人类逃跑了,怪物奔向它,但是仅此而已!
JuniorDeveloper1208'1

4
谁在乎它是否完成?当您学习时,完全可以重新发明轮子。我一直在缓慢地建立一个带有数据库的照片库程序,以存储标签和有关照片的所有其他元数据。当然已经完成了,但是我想复习C#,这听起来像是一个有趣的项目。它还没有完成(可能永远也没有),现在我正在考虑重建UI以自学WPF。这纯粹是一个学习项目,如果我完成并发布一些内容,我会感到惊讶!但是我学到了很多东西!
FrustratedWithFormsDesigner

1
@toleero:XNA中的人类/怪物听起来挺有趣的。接下来,添加武器?这将需要大量的重新加工,但这是值得的。或者也许从不同种类的怪物开始,例如快/慢,弱/强,大/小...
FrustratedWithFormsDesigner

1
@toleero:这实际上是一个非常好的开始项目,您可以进入很多很多的方向。;)
FrustratedWithFormsDesigner

1
@沮丧,@ toleero:是的。我有几个项目,我一直在考虑要添加的新功能。发生的事情是:您添加了一个小功能,并考虑了另外5个。随着您不断添加它们,您的想法会变得更好,因为您实现它们的技能会变得更好,并且您正在思考如何实现它们。一两年之内,您将回顾过去,并认为您的第一个项目多么简单!请记住,您只能看到到达目的地的距离。
Michael K

2

开源的全部意义在于,开源是开放的,您可以随意使用它进行几乎任何您想做的事情,除了拥有自己的所有权并在不使用源码的情况下进行分发。

找到您喜欢并使用的项目,但您认为可能会有一些改进。

获取最新的稳定分支,下载它。

进行您认为对项目有利的更改。

向社区中的一些人展示您的进步和改进。

如果他们喜欢它,可以将其包括在主分支中。

如果他们不喜欢它,但您认为它真的很好。分叉该项目,在源代码中建立自己的页面,并确保阅读其许可证,以确保一切正确。


1

唯一有价值的测试是交付有用,可用和健壮的软件。别的都是琐事。

我建议您访问CodePlex,以查看大量使用C#和.NET的开源项目。作为您实际使用的程序或库,那里的东西会引起您的兴趣。尝试一下,并记下您将对其进行更改以使其变得更好的事情。

您实际上不必担心会被开发团队接受,因为您只需提取代码库并对其进行更改即可。如果您认为自己提出了一些非常有价值的东西,请联系开发团队。


我的PM会争辩说,截止日期取代了一周的任何一天的有用性/耐久性,嘿。
布拉德·克里斯蒂

@Brad-我每个星期二下午2点都听到同样的事情
Adam Crossland

1

是否有任何形式的在线编程测试可以向我展示我目前的“好”(或“坏”)?

这样的测试结果在很大程度上是无关紧要的。重要的是您可以用所讨论的语言来完成事情。您显然还不能做到这一点。

这是我的建议。您肯定正在阅读有关C#的书。大多数优秀的书都有一个实际的例子,您可以通过详细说明该书,并随着本章的进行而复杂化。了解该示例,然后为自己编写一个简单的小程序,并注意建议的最佳实践。完成后,您会对自己的能力有所信心,并且还会有一些值得炫耀的东西。

上手的事情。


谢谢,我做了一些事情(一些WinForms Apps,一个XNA沙盒游戏,并且我正在WPF中编写Google Stock Tracker),但是我发现很难坚持一个项目……
JuniorDeveloper1208

1

是否有任何形式的在线编程测试可以向我展示我目前的“好”(或“坏”)?:)

没有测试能够向您证明这一点(即使有经理/人力资源人员坚信相反;-)。它只会在更长的时间内显示在现实生活中,在实际项目中工作。

就像我之前说过的,我不会为开源项目做贡献,但是我不知道从哪里开始,我认为“大”项目只想要优秀的程序员:(

我相信您可以开始为许多开源项目做出小小的贡献。至少我相信,由于许多开发人员不喜欢测试,报告错误,编写文档,因此肯定会欢迎它们:-)这样,您就可以逐步建立声誉并开始编写代码:首先修复错误,然后进行更大的更改。

2周前,我接受了初级程序员工作的面试,并设法回答了我的大部分问题,但由于缺乏实践经验,我仍然没有找到工作

不要放弃,这在某些时候已经发生在我们大多数人身上。继续学习,练习和申请初级职位,迟早您会得到一份。您可以和恕我直言,面试后应该做的一件事就是收集反馈。如果您填写笔试,不仅要索取分数,还要索取实际成绩单,以查看您所犯的错误并从中学习。还要分析面试过程,找出您给出次优答案的地方,错过了节拍等。下次,您可以通过额外的准备来做得更好。


谢谢,我来看一下,但是我很难找到要提交的项目!
JuniorDeveloper1208'1

0

永远不要害怕编程,最好的程序员是那些犯过最大错误的人。愚蠢的错误,复杂的错误,它们都会使您成为更好的编码器。

祝好运 !!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.