如果不是一个经验丰富的程序员,那么启动一个开源项目有什么弊端?[关闭]


12

我对要生产的产品有很多想法。问题是我不到一年的专业工作经验,而且我担心将来会基于我现在生产的产品而受到负面评价。我不知道我的代码是否有用。

我不熟悉任何编码模式。我所知道的是制造出行之有效的产品。我想在github上为我的未来项目提供一个公开的个人资料,我将尽力确保它得到很好的评论,被优化和干净。

这些是我担心会公开曝光的事情:

  1. 我的代码可能没有高度优化。
  2. 某些库或函数的错误使用会同时完成工作。
  3. 不知道或不遵循任何编码模式。
  4. 许多错误/不考虑边缘情况
  5. 根本缺乏对某些概念(例如线程安全性,多线程编程中的并发问题)的理解和应用。

我应该继续前进还是继续坚持在本地和私下建造东西,直到获得更多经验。从长远来看,我不想在这里犯下的错误困扰着我的职业前景。


4
我知道你来自哪里。当您向世界展示项目时,实际上就是在展示自己的一部分。但是,考虑到这一点,除非星球上的所有代码都通过正式验证而被欺骗,否则实际上其中的所有代码中都有错误。您要收获的要多于损失。如果一个潜在的雇主发现您在您相对缺乏经验的情况下在您的一个项目中犯了一个错误,那么他们会大声疾呼,我和这里的其他每个人也是如此。更有可能的情况是,他们将没有时间浏览您编写的所有内容。
dan_waterworth 2012年

1
在我看来,正式验证程序不是“作弊”。

4
All I know is to build products that work.-太好了。很容易陷入模式和设计的困境,最终永远无法交付...
Izkata 2012年

我说拧别人说的话,不要害怕。如果您想做一些积极的事情,并且您认为自己或他人可以从自己的工作中受益,而不仅仅是这样做。(耐克插头)
蛇2012年

Answers:


32

经过30年的专业软件开发,我仍然创建bug。我仍然找到我不知道的模式。我仍然向同事学习,并遇到每天都不知道的事情。

大多数经验丰富的开发人员将根据您对问题和批评的反应方式,是否从错误中吸取教训并改进产品以满足用户或社区的需求,是否承认自己不知道并寻求改进的方式来判断您。

开发人员最好的技能之一是愿意提出愚蠢的问题,有时看起来有些愚蠢,以便尽快找到好的答案。

每个有经验,非常精通的人都曾经是您现在的位置。如果您将工作放在那儿并与其他人一起工作,您将学得更快。

没有理由等待。打开您的项目。

更好的是,为其他开放项目做出贡献并向他们学习。


+1。顺便说一句,我想知道为什么您的第二段让我想到了PHP开发团队。
Arseni Mourzenko

+1理解并尊重每个人都可以做错的事情是团队成员最重要的素质之一。
jgauffin 2012年

6

我想你太担心了。

OS社区更加关注某个特定应用程序的实用性,而不是其编写方式。如果写得不好,社区将介入并帮助纠正错误。更有意思的是,应用程序如何很好地解决了人们所困扰的问题。如果应用程序/项目为棘手的问题提供了一种优雅的解决方案,那么代码的质量就成为问题的关键。

把它放在那里,看看会发生什么。您将不知道自己的代码有多好/多坏,直到其他人开始看并开始使用它。所有代码都有错误。更有趣的是作者解决这些错误的速度有多快。

认为这是一种学习练习。直到稍微伸出脖子并接受批评之后,您才可以发现自己不知道的内容。希望大多数批评可以成为建设性的。考虑到您首先要问的是,那么我很高兴地说您将至少拥有中等或更好的代码。


5

我们在开放源代码领域中找到知识渊博的人。没错,这也吓到了新来者。但是,即使主要开发人员没有反映出实现高质量软件的实际要求,他们也能很好地为优秀项目提供帮助。

您已经知道自己的局限性。那不是一个不好的开始。这是一个好的开始。

参加聚会并在那找到你的位置。

祝好运!

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.