web-dev-qa-db-ja.com

経験豊富なプログラマでない場合、オープンソースプロジェクトを開始することの欠点は何ですか?

私は製品を作るためのアイデアをたくさん持っています。問題は、プロとしての仕事の経験が1年未満であり、現在作成しているものに基づいて将来的に否定的に判断されるになることを恐れていることです。私のコードが良いかどうか私には手がかりがありません。

私はどのコーディングパターンにも精通していません。私が知っているのは、機能する製品を構築することだけです。私の将来のプロジェクトのためにgithubで公開プロファイルを作成したいのですが、十分にコメントされ、最適化され、クリーンであることを確認するために一生懸命努力します。

これらは私が公開されることを恐れているものです:

  1. 私のコードは高度に最適化されていない可能性があります。
  2. 偶然に仕事を終わらせる特定のライブラリまたは関数の誤った使用。
  3. コーディングパターンを知らない、またはフォローしていない。
  4. 多くのバグ/コーナー、エッジケースを考慮しない
  5. スレッドセーフティ、マルチスレッドプログラミングにおける同時実行性の問題など、特定の概念の理解と適用の根本的な欠如.

先に進んで、経験を積むまで、ローカルおよびプライベートでの構築に専念する必要があります。ここでの間違いが長期的に私のキャリアの見通しに悩まされることを望まない。

12
endrendum

30年間の専門的なソフトウェア開発の後、私はまだバグを作成しています。私はまだ知らないパターンを見つけます。私は今でも同僚から学び、毎日わからないことに出会います。

ほとんどの経験豊富な開発者は、問題や批判への対応方法、間違いから学び、ユーザーやコミュニティのニーズを満たすように製品を改善するかどうか、知らないことを認めて改善を求めるかどうかなどを判断します。

開発者にとって最高のスキルの1つは、愚かな質問をする意欲と、良い答えをできるだけ早く見つけるために時々少し愚かに見えることです。

経験豊富で非常に熟練している人は皆、あなたが今いる場所でした。あなたがあなたの仕事をそこに置き、他の人々と一緒に働くなら、あなたははるかに速く学ぶでしょう。

待つ理由はありません。プロジェクトを開きます。

さらに良いことに、他のオープンプロジェクトに貢献し、それらから学びます。

32
joshp

心配しすぎだと思います。

OSコミュニティは、特定のアプリがどれほど適切に記述されているかよりも、アプリがどれほど有用であるかに関心を持っています。それが不十分に書かれている場合、コミュニティは介入し、間違いを修正するのに役立ちます。さらに興味深いのは、アプリケーションが人々が苦労している問題をどれだけうまく解決するかです。アプリケーション/プロジェクトが厄介な問題にエレガントなソリューションを提供する場合、コードの品質は問題になります。

それを出して、何が起こるか見てください。他の人がそれを見て、それをいじり始めるまで、あなたのコードがどれほど良い/どれほど悪いかはわかりません。すべてのコードにバグがあります。さらに興味深いのは、作成者がこれらのバグの解決にいかに迅速に取り組むかです。

それを学習課題と考えてください。首を少し突き出して批判を聞くまで、わからないことを見つけることはできません。うまくいけば、批判のほとんどは建設的になることができます。そもそもそれについて質問していることを考えると、少なくとも平均以上の品質のコードが得られると私はかなり安心しています。

6
user53019

オープンソース分野で高い知識を持つ人を見つけます。それは真実であり、また、新しい参入者にとっても威圧的です。しかし、主な開発者が高品質に到達するためのソフトウェアの実際の要件を反映していない場合でも、優れたプロジェクトへの支援を提供する上で非常に優れています。

あなたはすでに自分の限界を知っています。それは悪いスタートではありません。それは良いスタートです。

パーティーに参加して、そこであなたの場所を見つけてください。

幸運を!

5
rdconsolo