哪里可以获得代码的同行评审以及如何引起我的代码注意?

时间:2009-09-11 22:01:02

标签: c++

我现在正在学习17岁的编程。由于我刚刚从高中毕业(这意味着我不能参加编程课程),因此我很难与其他程序员交谈。我知道我编写了可怕的代码,and not like Jeff Atwood terrible code,我的代码实际上很糟糕。那么我在哪里可以发布我的一些代码并让真正的程序员来审查它。我知道如果我有一个问题我可以在StackOverflow上问它,但我想发布一个全班并对其进行评论。

这里真正的问题是我不打算编写下一个伟大的软件。我将要写一个真正无用的课程,除了教我如何编程之外别无其他目的。永远不会使用此代码! 永远!如何让高级(甚至中级)程序员查看我的代码?

提前致谢! ; - )

8 个答案:

答案 0 :(得分:14)

关注开源社区。有很多现有的和新的项目都喜欢渴望(如果没有经验的)开发人员提供支持。

走这条路有两个好处:

  1. 你可以看到很棒的代码并从中学习
  2. 您提交的任何更改都将由经验丰富的开发人员进行审核,他们通常会在您的代码被接受之前就如何改进代码提供很好的建议
  3. 首先选择您所用语言的项目(c ++中有一堆)并查看代码。您不需要全部了解它,但您必须能够理解它的至少一部分。

    如果项目看起来很复杂,请继续关注。较年轻的项目往往需要学习的代码较少。

答案 1 :(得分:9)

为什么不试试RefactorMyCode

答案 2 :(得分:9)

如果你无法让伟大的程序员看到你的代码,那么就做另外一件事:看看他们的代码!

查找一堆执行相同(简单)操作的代码片段。在仔细查看它们之前,请编写自己的代码以执行相同的任务。将所有片段与您自己(以及彼此!)进行比较,并尝试找出差异的原因。

我建议从完善的项目中寻找代码。为简单起见,教程中的代码经常忽略重要的细节。

答案 3 :(得分:5)

我会尽量不写无用的代码,但试图解决一些特定的问题。如果您在现实世界的情境中学习,您的学习将更加先进。它不一定是一个大的业务领域;甚至可以是游戏或共享软件实用程序。

至于审核代码,开源社区是一个很好的方式,The Lame Duck说 - 事实上,如果你真的为项目做出贡献,你可以保证得到某种形式的审核。其他探索途径:您当地的C ++用户组,查看大专院校提供的合作项目,或与赞助实习生的公司合作。

我没有按照RefactorMyCode的建议尝试Gilad Naor之类的网站,但这似乎很有希望。而且,是的,StackOverflow对于一口大小的代码来说是个好地方。如果你这样做,解释你想要做什么,以及你为什么要这样做,并询问是否有更好的方法。祝你好运!

答案 4 :(得分:4)

我认为最好的学习方式是我学习的方式(我可能有偏见):反复试验。我一直在编写程序,在我去的时候自学。我写了可怕的代码,我会努力让它做我想做的事情。通常它会让我放弃那个特定的项目。但是在下一个项目中,我会采取不同的方法,它会更好。重复广告恶心。一旦你知道你设计中的粗糙点在哪里,你就可以询问有关像SO这样的地方的具体问题,或者,更好的是恕我直言,自己想出更好的设计。我独自发明了所有主要的设计模式,只是因为我过去创造的解决方案受挫。我认为这给了我一个有价值的观点,因为对于大多数人来说,设计模式只是一种“最佳实践”,但我知道使用其他设计带来的痛苦,我可以很容易地看到代码设计不良的迹象(需要一个人知道一个)。这最后一项技能是我经常看到的其他程序员缺乏的......他们无法理解为什么他们的设计缺乏并且他们应该使用别的东西。

答案 5 :(得分:1)

您可以随时尝试像Project Euler这样的网站,其中存在大量问题,可以测试您的技能以及其他人提交的一系列问题解决方案。项目Euler倾向于关注算法而不是更高级别的编程结构,但我想其他类似的东西也是如此。

答案 6 :(得分:0)

做一些有趣的事情,不要过多担心代码风格。我开始在Commodore 64上使用BASIC,甚至没有意识到干净代码与脏代码之类的东西。如果我当时担心了很多,那可能会妨碍我的进步。在玩得开心的时候,你总是学得最好。

答案 7 :(得分:0)

也许有点晚了,但是因为 StackExchange Code Review ,所以值得回答:

  

代码审查Stack Exchange是同行的问答网站   程序员代码评论。它是100%免费的,无需注册。

以下是链接:Code Review Stack Exchange