タグ付けされた質問 「personal-projects」

自分で取り組んでいるプロジェクトに関する質問で、通常は仕事に関係のないもの。

29
私は暇なときにプログラムしません。それは私を悪い開発者にしますか?
Web上の多くのブログとアドバイスは、優れた開発者になるためには、あなたの日々の仕事だけでは十分ではないことを示唆しているようです。たとえば、空き時間にオープンソースプロジェクトに貢献したり、スマートフォンアプリを作成したりする必要があります。実際、このアドバイスの多くは、1日中それを行うのに十分なプログラミングが好きでなければ、おそらく間違ったキャリアで。 それは私には当てはまりません。私は仕事を楽しんでいますが、オフィスから家に帰るとき、私はすぐにコンピューターに戻って就寝前にコーディングを開始する気分ではありません。毎日一定の時間しか空いていないので、他の趣味に費やしたり、友人と会ったり、コンピューターの前よりも外に出たりします。 私はプログラミングから飛び出し、時々仕事以外でハックします。私は自分の成長に専念し、学習を続け、より良くなる方法として、技術ブログや本を読むことに時間を費やしています。しかし、それは、コーディングに余暇をすべて使いたいという限りではありません。 これは、私が「本当の」ソフトウェア開発者ではないことを意味しますか?仕事以外で余分なことをすることなく、優れたソフトウェア開発者になることは可能ですか?あなたの意見を聞いてとても興味があります。 更新:コメントと回答をありがとう。たくさんの良い考えとアドバイス!

21
私のコードの大部分には大きな設計上の欠陥があります。終了するか、今すぐ修正しますか?[閉まっている]
私は高校生で、私の友人と一緒にC#プロジェクトに取り組んでいます。私のスキルレベルはほぼ同じです。これまでのところ、100件のコミットで約3,000行のコードと250行のテストコードを記述しました。学校のために、私は数ヶ月プロジェクトを延期し、最近私はそれを再び取り戻すことができました。 バックアップを取得するまでに、レンダラーに過剰なスレッドを含める、エミュレートされたCPU、GPU、ゲームカートリッジ間の相互作用における競合状態の防止が不十分であるなど、記述したコードの設計が不十分であることがわかりました、および単に冗長でわかりにくいコードも同様です。 問題は、プログラムの主要な機能すら完成していないため、真のリファクタリングができないことです。コードの設計に欠陥があることを完全に認識し続けることはできません。同時に、私はプロジェクトを放棄したくありません。かなりの量の進歩があり、作業が無駄になってはいけません。 私はいくつかの選択肢があるように感じます:貧弱なデザインを回避し、すべてが機能したらリファクタリングし、すべてを停止し、残りの機能が完了する前にすべてのもつれを解き、プロジェクトを開始することによって、単に機能を終了するそれがすべて私の心に再び新鮮であるように、または過度のサイズのためにプロジェクトを完全に放棄するように(本質的に「図面に戻る」)。 そのようなプロジェクトにおける他の人の経験に基づいて、自分を正しい軌道に乗せるための手段は何ですか?このサイトの回答から、一般的なコンセンサスは、書き換えは一般的に不要であるが、過剰なコストなしにコードを維持できない場合に利用可能なオプションであるということです。私は本当にこのプロジェクトを追求したいと思っていますが、現状では、私のコードは私が続けるのに十分に設計されておらず、落胆の感覚が私を継続からそらします。

17
ポインターを使用して解決するのに最適なプログラミング問題は何ですか?[閉まっている]
まあ、私は基本的にポインタの使用方法を理解していますが、より良いプログラミングを行うためにそれらをどのように使用するのが最善かはわかりません。 ポインターを使用することで解決できる、良いプロジェクトや問題は何ですか?

12
戸惑うことなくオープンソースプロジェクトをリリースする[クローズ]
私はかなり長い間、かなり大きなオープンソースプロジェクトに独力で取り組んできましたが、それをリリースしたいところに近づいています。しかし、私は独学であり、プロジェクトを適切にレビューできる人を本当に知りません。 数年前、私はそれをリリースしたフォーラムで(重大な意味で)ほぼばらばらになった小さなコードをリリースしていました。コードは機能しましたが、批判は正確ではありましたが、残忍でした。それがきっかけで、あらゆるもののベストプラクティスの検索を開始し、最終的には自分がはるかに優れた開発者になったと感じています。私は数え切れないほど完璧にしようとして何度もプロジェクトのすべてを調べてきました。 私は自分のプロジェクトを信じており、多くの人々を助ける可能性を秘めていると思いますし、それで面白い方法でいくつかのクールなことをやったと感じています。それでも、私は独学なので、私の自己教育にはどのようなギャップがあるのだろうと思わずにはいられません。前回私のコードがばらばらにされた方法は、繰り返したくないものです。数え切れないほどの時間を費やしてきたプロジェクトをリリースすることに対する2つの最大の恐怖は、独学や、さらに悪いことに、クリケットの音でリリースしたために、特許的に明らかなものを見逃したため、まったく恥ずかしいと思います。 同様の状況にあった人はいますか?私は建設的な批判を恐れていませんが、それが建設的なものであり、私がいかに失敗したかについての暴言ではありません。StackExchangeにコードレビューサイトがあることは知っていますが、大規模なプロジェクトにはあまり設定されておらず、プロジェクトの断片の一部を投稿する場合、コミュニティがまだ十分なフィードバックを得ることができるとは感じませんでした(私は1つのファイルで試してみました)。恥ずかしさやプロセスに没頭することなく、少なくともある程度の成功をプロジェクトに与えるにはどうすればよいですか?

20
個人プロジェクトのバグをどのように追跡しますか?[閉まっている]
自社開発プロジェクトの欠陥追跡プロセスを再評価する必要があるかどうかを判断しようとしています。過去数年間、TODOコード内のタグを使用して欠陥を実際に追跡し、特定のビューでそれらを追跡しています(適切なタグ付けシステムを備えたEclipseを使用しています)。 残念ながら、私はこのシステムが持続不可能かどうか疑問に思っています。私が見つけた欠陥は通常、私が取り組んでいるコードの断片に関連しています。すぐに理解されないバグは忘れられるか、無視される傾向があります。私は妻のために、ほぼ9か月間重大な欠陥があったアプリケーションを作成しましたが、修正するのを忘れ続けています。 個人的なプロジェクトの欠陥を追跡するためにどのようなメカニズムを使用していますか?特定のシステム、またはそれらに優先順位を付けて管理するプロセスがありますか?

14
プロジェクトを完了することはどれくらい重要ですか?[閉まっている]
私は学生です(まだ大学に通っています)。今から5年ほどプログラミングをしています。その間、私は言語から言語へ、APIからAPIへ、そしてプロジェクトからプロジェクトへと飛び回っていました。私は一つのことに自分自身を設定しようとしましたが、興味を失います。私のPC全体は半分の完成したプロジェクトでいっぱいです(そして、少なくとも4倍は私のディスクからフォーマットされています)。 それを楽しむためのプログラミングに対する私のモチベーションが低いのは、私が最後に完成したプロジェクトを一度も手に入れられないからではないかと思い始めます。私は、あまりにもオープンエンドの目標を持っているのか、それとも注意力が低いだけなのかわかりません。私はそれらを完成させるためだけにいくつかの小さなプロジェクトを試みましたが、それらは私には全く興味がありません。 これが私のモチベーションの低下の原因になりますか?また、私がuni(そして将来的にはソフトウェアの仕事)に行くことを申請するとき、それは問題になる可能性がありますか? 要約すれば: キャリア、モチベーション、または教育のために、サイド/ホビープロジェクトを完了することはどれくらい重要ですか?

8
趣味のプロジェクトをリリースすることへの恐怖-克服する方法?[閉まっている]
この質問がソフトウェア開発に厳密に関連しているかどうかはわかりませんが、試してみます。 多くのプログラマーのように、私は趣味のプロジェクトに取り組むことが大好きです。時々、一見良いアイデアがあまり良くないことが判明したので、私はプロジェクトをやめました。しかし、時には、プロジェクトから役に立つものが出てきます。それで、私はそれをリリースし、世界に提示することができますよね? 違う。どういうわけか、私はこの一歩を踏み出すことができないようです。私は自分のコードが十分ではないことを恐れており、常に最適ではないもの、追加できる機能について考えることができます。だから、私は何もリリースせず、興味を失い、ある時点でプロジェクトを放棄します。 これは正常ですか?このような状況をどのように克服しますか?

16
独自の「その他のユーティリティ」ライブラリはありますか?あなたが最も誇りに思う部分は何ですか?[閉まっている]
私たちの多くは、頻繁に使用するツールとユーティリティを使用して、独自の小さな個人ライブラリを維持していることを知っています。 私は16歳の時から私のものを持っているので、かなりの規模に成長しました。私が書いたもののいくつかは、その後フレームワークに追加されました。LINQのかなり前に、遺伝的アルゴリズムで使用する式ツリーの独自の小さな実装を作成しました。しかし最近、私はそれを経験して.NET 4.0にアップグレードし、興味を再燃させました。 だから私はあなたがあなたのライブラリを何のために使うのか興味があります。たぶん、便利な小さなスニペットのためにいくつかのクールなアイデアを得て、それらを私たちの間で共有することができました。 だから私の質問は: その他のユーティリティライブラリはありますか? あなたが最も誇りに思っている部分とその理由は? 必要に応じてコードの例を挙げてください :-)

14
何かをデザインした後に、実際にコードを書くように動機付けする[終了]
それは私だけに起こるのですか、それともあなたにもおなじみですか? これは次のようなものです。何かを作成する必要があります。モジュール、機能、アプリケーション全体などです。それはあなたが前にやったことのない興味深いものです、それは挑戦的です。 だから、あなたはあなたがそれをどのようにしようとしているのか考え始めます。いくつかのスケッチを描きます。いくつかのプロトタイプを作成して、アイデアをテストします。完全なビューを得るために、さまざまなピースをまとめています。 あなたは最終的に、あなたが好きなデザイン、シンプルで、誰にとっても明確で、メンテナンスが簡単なものになります...あなたはそれに名前を付けます。すべての拠点をカバーし、すべてを考えました。このクラスとそのファイル、およびそのデータベーススキーマを作成することを知っています。ここでこれを設定し、そこにこの他のものを適応させます。 しかし、今では、すべてが解決した後、あなたは座って実際にそのためのコードを書く必要があります。そしてもう挑戦していません。コードの記述は「形式的」であり、完了したばかりの内容を繰り返したように見えます。 私の以前の仕事では、他の誰かが私の仕様に基づいてコーディングを行っていたため、時々それをやめましたが、私の新しいギグでは、プロセス全体を担当しているので、私もこれをしなければなりませんそれ)。 しかし、仕事の後、自宅で仕事をしているペットプロジェクトがあり、私だけがいて、誰もそれをするためにお金を払っていません。私は創造的な仕事をし、それを書き留める時が来たとき、私はそれのように感じません(ウェブを少しブラウズして、P.SE、SOなどの新機能を見てみましょう)。 私は次の挑戦的なものに移りたい、そして次の、そして次の... これはあなたにも起こりますか?どのように対処しますか? どのようにして自分自身を説得して、おかしなコードを書くのですか? 私は答えを取ります。

6
TDDとバージョン管理
現在、TDDについて学び、個人プロジェクトでTDDを実践しようとしています。また、これらのプロジェクトの多くでバージョン管理を広範囲に使用しました。私は、特にコミットを小さく保つという格言に関しては、典型的なワークフローにおけるこれら2つのツールの相互作用に興味があります。ここに思い浮かぶいくつかの例があります: 新しいプロジェクトを開始し、まだ存在しないクラスを作成する簡単なテストを作成します。テストがコンパイルされない場合でも、クラスを作成する前にテストをコミットする必要がありますか?または、コミットする前にテストをコンパイルするために必要な最小限のコードをスタブアウトする必要がありますか? バグを見つけ、テストを作成して再作成します。失敗したテストをコミットするか、バグ修正を実装してからコミットする必要がありますか? これらは、すぐに思い浮かぶ2つの例です。回答に追加の例を提供してください。 編集: 両方の例で、テストを書いた直後にテストをパスするコードを書くと仮定しました。別の状況も発生する可能性があります。私は、コミットせずに数時間TDDを使用してプロジェクトに取り組んでいます。最終的にコミットするとき、作業を小さなチャンクに分割します。(Gitは、1つのファイルの一部の変更のみをコミットしたい場合でも、これを比較的簡単にします。) これは、私の質問は、いつコミットするかということと同じくらいコミットすることに関することを意味します。

7
良い最初の関数型プログラミングプロジェクトは何でしょうか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 8年前に閉鎖されました。 良い最初の関数型プログラミングプロジェクトは何でしょうか? 私は独身のプロジェクトを成功させたいと思っており、機能的なプログラミングプロジェクトを終えたいと思っています。私たちは学校で勉強しませんでしたが、新しいことを自分で学ぼうとすることをお勧めします。 。 問題は、夏休みを利用して関数型プログラミングの理解を深め、1つの言語に精通するために、プロジェクトを少し早めに開始したいということです。 少しやりがいのある優れた実践プロジェクトですが、言語やパラダイムなどを学ぶこともできます。そして、私の学士プロジェクトにとって良いプロジェクト(より高度なプロジェクト)になると思いますか? 関数型プログラミングを始めるときに最初から最適な言語を提案することも歓迎します。

4
個人的なプロジェクトを完了するための最良の方法
私は始めた数多くの個人的なプロジェクトを持っていますが、他のアイデアに追われてしまうため、決して終わらないようです。個人的なプロジェクトを完了するための最良の方法は何だろうと思いましたか それに対するトリックやヒントはありますか? 問題は、私はいくつかのプロジェクトでインスピレーションの噴出を得ます、そして、私は私のアイデアを見失いたくありません。夜にGitHubの問題を保存します。これにより、古いプロジェクトに戻ることができなくなります。

10
フリーランスの仕事を許可するように管理者を動機付けるにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 6年前に閉鎖されました。 私は小さな会社の開発者です。時々、以前の雇用者からのフリーランスの仕事や、フルタイムの仕事に何らかしこむことなく何時間も後にできる奇妙な仕事のために、余分な現金を提供されます。 残念ながら、私のマネージャーは、私がいかなるサイドプロジェクトにも取り組むことを明示的に禁止しています。彼が言う理由は、週末であっても私の人生に自由時間があれば、彼らは彼の会社で働くことに費やされるべきだからです。 私の主張は、私の週末は私の時間であるということですので、私は自分のやりたいことができるはずです。第二に、一年中同じプロジェクトをじっと見つめるのではなく、他の方法では見られないさまざまな問題でスキルを広げていきました。実際、私は経験豊富なプログラマーになり、フルタイムの仕事を手伝ってくれるでしょう。 他の誰もがサイドでフリーランスの仕事をして、余分な現金を稼いでいるようですが、私はそれらを放り出したくありません。上司がそれほど悪いことではないことを理解する上で、他にどのような動機がありますか?

3
経験豊富なプログラマーでない場合、オープンソースプロジェクトを開始することの欠点は何ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 製品を構築するためのアイデアはたくさんあります。問題は、私がプロとしての仕事の経験が1年未満であり、現在制作しているものに基づいて将来否定的に判断されることを恐れていることです。私のコードが良いかどうかはわかりません。 私はどのコーディングパターンにも精通していません。私が知っているのは、機能する製品を構築することだけです。将来のプロジェクトのためにgithubに公開プロファイルを作成したいので、コメントが十分にあり、最適化され、クリーンであることを確認するように努力します。 これらは、一般に公開されることを恐れているものです。 私のコードは高度に最適化されていない可能性があります。 偶然に仕事を終わらせる特定のライブラリまたは関数の誤った使用。 コーディングパターンを知らない、または従わない。 多くのバグ/コーナー、エッジケースを考慮しない スレッドの安全性、マルチスレッドプログラミングの同時実行性の問題など、特定の概念の基本的な理解と適用の欠如。 もっと経験を積むまで、ローカルでプライベートに作業を開始するか、それともビルドを続けるべきでしょうか。ここでの間違いが、長期的に私のキャリアの見通しに悩まされることを望まない。

4
個人の使い捨てプロジェクトをホストする場合、1つのサービスとプロジェクト構造が際立っていますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 私は、Google Code、SourceForge、BitBucket、およびGitHubを見ています。彼らは大きなプレーヤーのようです。今、私はまだそれらが提供するすべての機能を分解していませんが、私が書くさまざまなコードを置く場所を本当に探しています(プロジェクトオイラーの私のソリューション、コードゴルフ/プログラミングパズルスタック交換など)を中央の場所で行います。 それで、私の最初の質問はこうです:このような状況では、あるサービスが他のサービスの中で際立っているのでしょうか? サービスを選択したら、コードの配布方法を選択する必要があります。リポジトリとプロジェクトを設定するためのオプションがいくつかあります。単一のリポジトリに任意の数のプロジェクトを保持できます。たとえば、Project Eulerのさまざまなソリューションすべてに対して、「Tom OwensのProject Euler Solutions」リポジトリを作成できます。私のさまざまなCode Kataソリューションなどに。または、そのようなものを言語ごとに分類することもできます(あるリポジトリのPythonのProject Eulerソリューション、別のリポジトリのJavaのPEソリューション、および3番目のリポジトリのCode Kata C ++ソリューションを使用)。 2番目の質問:特にリポジトリの作成方法に関して、オープンにすることを選択したコードサンプルを共有する方法を決定するための制限または規則はありますか?私の考えでは、これはあなたが選択したサービスによって決定されるかもしれない(コミュニティの慣習に基づいて)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.