2009-04-28 21 views
1

最後の言葉(2008年8月 - 12月)私といくつかのクラスメートはC++でアプリケーションを書いていました。何も壮大ではなく、Sqlite3のORMです。私たちは、リフレクションのようなものを実装して動作させ、エンドユーザーを醜いものから解放しました。個人的に私たちは素晴らしい仕事をしたと思います。ORMは実際に誰かにとって役に立ちます(Sqlite3のための具体的な記述でも、oterデータベースに簡単に適応できます)。アプリケーションの改善と公開。アドバイスが必要です

私は結論として、オープンソースプロジェクトとして(sourceforgeの可能性が高い)どこかに公開されるべきだという結論に達しました。しかし、それは用語プロジェクトだったので、それを行う前にaddresesedする必要があるいくつかあります。つまり、いくつかのメモリリークが修正されなければならず、コードの一部がリファクタリングされて将来的にみんなの生活が容易になる可能性があります。私はいくつかの問題についての意見より経験豊富なC++プログラマを知っていただきたいと思い

  • それは価値 にいくつかの部分を書き換えされていますが、新たなtechonologies(例えば、 ブースト)を適用します。
  • ORMを最新の C++標準に適合させる必要がありますか? に何か利点がありますか?
  • コードが のリリースの準備ができていることをどのように確認しますか?
  • このORM がインターネット のミストに忘れられる可能性はありますか?

(すなわち、それは プログラマーとしての個人的なプライド を超えて、それを公開?価値がある)今、私はより多くの質問を考えるcan`tが、私は同じような経験に読みたいです。

EDIT:おそらく私のコード+コメントを英語に翻訳するべきでしょうか? (自己質問)

ありがとうございます。

答えて

1

私はあなたの特定の質問に関して「経験が豊富」と思います。私はオープンソースのWebアプリケーション言語&テンプレートシステムを共同開発しました.JavaやASPの前にWebデザインの初期段階でColdFusionによく似ています。興味があれば、それでもhttp://www.steelblue.com/にそれを見ることができます。それは私が開発された時の会社ではまだ使われていますが、私は他のどこにも考えません。

私が見つけたのは、あなたがすでに接続されていて、あなたがしていることを人々が見ていない限り、人々にあなたのオープンソースコードを使用させることは、クローズドソースプログラムを売るほど難しいことです。あなたは本当にあなたのプロジェクトを主張する必要があり、それはcompititionからそれを区別する独自の販売提案のいくつかの種類を持つ必要があります。

これは迷惑なアドバイスです。ここにあなたが持っていた質問に対するいくつかの具体的な答えがあります...純粋に私の意見です。

あなたが入れたいfeatuerを持っていない限り、私はコードを書き換えません。その機能は、特定のプラットフォームやコンパイラとの互換性があります。それは、新しいdbのデータ型やよりスマートな指示などをサポートすることかもしれません。アプリケーションにもっと深刻な作業を加えるつもりなら、次の反復で現実的に達成できるものと、サイクルの終わりにアプリを「最も良くする」選択肢のロードマップについて考えてみてください。

特定の目的や目的に使用できるようになるとすぐにコードをリリースしてください。 2つの理由。まず最初に、その目的のために現在望んでいる人がいるかもしれません。利用できない場合は、他のものを使用します。また、オープンソースの場合、プロジェクトに貢献する可能性があります。第二に、どのくらい多くの人々がコードを使いたいのかが分かるほど良いでしょう。どちらかと言えば、あなたが期待していたものよりも人気があり、開発を続けることに興奮しているかもしれません....あるいは、あなたが持っているものを見るためにあなたのWebページを訪れる人もいません。どちらの場合でも、新しいリリースを計画するときに考慮する必要があるので、後で人々が本当にあなたのプロジェクトから本当に欲しいものをすぐに知ることをお勧めします。

「忘れられた霧」について私はほとんどのプロジェクトがそうだと思う。私は嫌な人になりたくはないが、Wikipediaを見ると、言及するのに十分なほど人気が​​ある5つのC++ ORMツールがあり、それらはすべてオープンソースだった。私が上で述べたように、あなたのアイデアを人々に売ることができない限り、彼らはもう一つの実証済みのオープンソースソリューションを利用するつもりです。誰かがあなたを選ぶには、次の3つのことが起こらなければなりません。1.他の人にはない特徴が必要です。 2.プロジェクトのWebサイトを見つけ、コードの優位性を実証します。 3.彼らはあなたのコードを十分に信じてそれを撃つ。

一方、これを長引かせて開発を続行したい場合は、時間の経過とともにより容易になります。最終的にプロジェクトはすべての基本をカバーし、他のソリューションにはない新しい特典を開発することができます。また、あなたが活発に開発している時間が長いほど、プロジェクトはより信頼できるものに見えます。最後に、あなたはニッチでより多くの経験を得るでしょう。今から2年後には、あなたの努力がプロジェクトの改善に最も大きな影響を与える場所を言い表すのがよいでしょう。

最終的な考え:それを楽しんで、それを学び、食事をテーブルの上に保っていない場合、それはあなたの時間を有効に活用します。

幸運を祈る!
-Al

1

オープンソースの一部について:

あなたが本当にそれオープンソースプロジェクトにしたい場合は、あなたが本当にかかわらず、それを、それを公開する必要があり、現在の状態だ - 完全に動作するとデバッグ - または半分の作業とメモリリークがいっぱいです。 状態が悪い場合は、文書化して適切なバージョン番号(1未満)を指定してください。むしろランダム - - その後、他の人があなたのコードを見ることができる、など、あなたのチームに参加し、改善する...

1

私を提案する問題についての考え(順番に、私が最も重要だと思う):

  • をコードがリリースされる準備ができたら、どうすればわかりますか?

Liran Orevi said」:オープンソースのリリースを早く行っている場合は、それを合理的に文書化し、将来の改善のために計画された、または期待されるロードマップを提供する時間を取る(これらはあなたを助ける人々のための招待状なので、誰にも働いている人はいない)。

  • 新しいテクノロジを適用するには、いくつかの部分を書き直す価値があります(たとえば、ブースト)。
  • ORMを最新のC++標準に適合させる必要がありますか?これを行うことに何か利点はありますか?

SQLiteはかなり限られたベースに依存しています。たぶん、あなたのツールがより重い環境を要求することを望まないかもしれません。コードが現在絡み合っていて維持できない混乱でないなら、あなたは後押しと最新のフリルを避けたいかもしれません。安定版(少なくとも1.0)を入手したら、バージョン2の改善点を考え始めることができます。

  • このORMがインターネットのミストに忘れられるチャンスは何ですか? (つまり、それはプログラマとして個人的なプライドを越えて出版する価値があるのですか?)

大部分のものは空の大きな/ dev/nullになり、見つかる唯一の方法があります。あなたはどこにいても、あなたは勝ちます。そうでなければ、それは控えめな投資であり、あなたがそれにいた間に何かを学んでいたかもしれません。

関連する問題