ソフトウェア工学

システム開発ライフサイクル内で働く専門家、学者、学生向けのQ&A

14
開発者の自主性を優先してコーディングスタイルを推奨するべきですか、それとも一貫性を優先して推奨しないのですか?
開発者は、次のif/elseような1行のコードステートメントでブロックを記述します。 if (condition) // Do this one-line code else // Do this one-line code 別の方法では、すべてに中括弧を使用します。 if (condition) { // Do this one-line code } else { // Do this one-line code } 開発者は最初にオブジェクトをインスタンス化してから使用します。 HelperClass helper = new HelperClass(); helper.DoSomething(); 別の開発者は、オブジェクトを1行でインスタンス化して使用します。 new HelperClass().DoSomething(); 開発者は配列とforループを使用する方が簡単です: string[] ordinals = new string[] {'First', 'Second', …

6
Javascriptを知らずにCoffeescriptを使用することはどれほど危険ですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 私はウェブ開発を学ぼうとしているかなり経験豊富なプログラマーです。グラフィックにsvgまたはcanvasを使用するクライアントサイドWebアプリケーションを開発しようとしています。Coffeescriptでアプリケーションコードを作成することにしました。JavascriptもCoffeescriptも知りません。 JavascriptからCoffeescriptのWeb開発を知ることはどのくらい必要ですか?Javascriptを理解する必要がある厄介な問題にぶつかりそうですか?CoffeescriptのJavascript APIを喜んで使用できますか? 編集:1週間でJavascriptの基本を簡単に学ぶことができました。私は、Javascriptに多くの隠された鋭いエッジがあるようだともっと心配しています。StackOverflow Javascript の最も奇妙な言語機能の質問では、最も一般的な言語の1つです。珍しいオブジェクトとクラスモデルがあります。これには、非自明の名前スコープ規則があります。本当に言語を知るには1週間以上かかります。 私はウェブ開発を学ぶために小さなシンプルなプロジェクトに取り組みます。JavascriptまたはCoffeescriptを使用する方が良いでしょうか?長期的にはCoffeescriptを好むと思いますが、Coffeescriptを使用するためにJavascriptを完全に理解する必要がある場合は、Javascriptから始めたいと思います。

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

4
小さな画面スペースに制限されている場合、Visual Studioで最も生産的になるにはどうすればよいですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 私は学生です。クラス間で持ち歩く小さな(12.5 "、1366x768)ノートパソコン画面で多くのコードを実行します。ほとんどのプログラミング環境は、誰かが大きな画面サイズを利用できるという考えで設計されています。実際、プログラマーは大画面にアクセスできますが、大画面は終日授業に持ち込むのが難しく、以前のラップトップ(15 "、1920x1200)は非常に重いために寮に放置されることがよくありました。 私はこの時点でVisual Studioにほぼロックされています。私が今まで使ったプログラムは、私が扱うコードの種類に対して生産的ではありません(もちろん、Whole TomatoのVisual AssistとJared ParのVsVimをインストールした後:)) (私は小さな画面に関する他の質問を見てきましたが、それらはすべて「Visual Studioを離れる」こととほぼ同じです。これは、私が行ってきた開発のいくつかの種類を考えると困難です。...

17
ブラウザがそれを伝えることができるのに、なぜウェブサイトは言語と国を尋ねなければならないのですか?
それでは、ブラウザがそれを伝えることができるのに、なぜウェブサイトは言語と国を尋ねる必要があるのですか? 編集:具体的には、httpヘッダーのaccept-languageセクションを使用しない理由を意味します。これは、IPアドレスではなく、ブラウザーの言語設定によって設定されます。この質問は、壁を設置するWebサイトに焦点を当て、Webサイトを使用する前にユーザーに言語の選択を強制します。 編集:これはユーザーエクスペリエンスの質問であり、ユーザーが最初にコンピューターをセットアップするときにブラウザーで言語設定を設定する必要がある点に焦点を当てています(ユーザーが十分に賢い場合、または誰かに十分に賢く尋ねることができる場合)。

10
コード品質と強力な開発者パーソナリティのバランスを取る方法
作業中のコードレビューでは、コードベースの全体的な品質や保守性を必ずしも向上させるわけではありませんが、「賢い」と考えるコードとパターンを見てきました。私はフィードバックでこれを指摘し、反論に納得しません。このコードがレポジトリになり、後にプロダクションに移行するとき、私は少し心配です。 私は団結力のあるチームを維持したいので、自分の留保について口論しすぎて緊張を引き起こしたくありません。私はまた、あまりにも寛大にならずに、お客様に素晴らしい製品を作りたいです。 伝統的に、誰がどのようにチェックインされ、どのように「ベト」パワーを持っていますか? コードはどのように機能しますが、つま先を踏まずに複雑すぎる/巧妙なコードを削除できますか?

1
Javaに対するOracleのコミットメントは何ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 Javaに多額の投資を行っていますが、最近の経験とその質問に対するJoonasの回答を読んだ後: Java 6でこれらのフラグを使用した場合、クラッシュだけでなく、6u19から6u20へのマイナーアップグレード(おおよそ)のために、ループの誤った実行、つまり計算ミスが発生する可能性があります。 ...そして、注目すべきJava 7の問題に関する関連ブログ投稿により、Javaの品質が進むことを心配するようになりました。 これらの問題はOracleによって対処されていますか?Javaが将来十分にサポートされるようにするために、オラクルはどのような保証を提供しましたか?
15 java  oracle 

4
開発者からプログラミング教師への移行[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 短期大学、教育大学、または高校でプログラミングの教師になったソフトウェア開発者の経験に興味があります。 誰かが切り替えを行ったのか、それを使い続けたのか、それとも業界に戻ったのか、そしてその理由を知りたい。 私は過去7年間(オンとオフ)試してみて、それがどんなものかを見たいと思ってきました。私は教師であり、彼らの仕事を愛しているようです。友達が私を知っていることと、私が自分を知っていることから、私はそれが欲しいと思う。 編集:この記事を書いてから、新しい仕事のためにシアトルに移りました。プログラミングとデータベースの夜間コースを教えることができる地元の大学を見つけました。とても楽しいですが、過酷なフルタイムの仕事と家族にとってはストレスになります。私にとって、私は教えるのが大好きですが、さらに構築するのが大好きです。私は自分の努力のほとんどを建築に集中できること、そして他の人に教えるための小さな出口があることを嬉しく思います。私は、教育をフルタイムのキャリアにしたくないと決めました。 私が教えることが好きではないことに気づいたことの1つ(そして、私がフルタイムのキャリアにならない主な理由)は、教えるときに同僚から学んでいないことです。私は私の仕事で、同僚からいつも何か新しいことを学んでいるのが大好きです。私はそこから多くのエネルギーを得て、それをあきらめたくありません。
15 education 

7
コード内にバグ修正コメントを入れておくのは良いですか?
私のチームは、バージョン管理としてクリアケースを使用しています。私が取り組んでいるプロジェクトは、7〜8年前には開始されていません。プロジェクトの存続期間中、バグ修正サービスパックなどのリリースがいくつかありました。問題はバグ追跡システムを使用して追跡され、バグ修正に取り組むほとんどの人は、START /日付、作成者、バグIDなどを含むENDブロック これは非常に無関係で、コードが乱雑になり、保守が不安になります。これらは、チェックインコメント/ラベルなどの一部である必要があり、作業製品の追加のライフサイクル情報を保持できます。 従うべきベストプラクティスは何ですか? コードのレビューアの何人かは、バグと修正についてのコメントを外に出して、彼らの人生を楽にすることを主張します。私の理解では、ファイルをビューにマッピングしてファイルをレビューし、ブランチの変更ログを取得してレビューする必要があります。レビュー用に更新されたコードを送信する際のベストプラクティスを入手できれば助かります。

6
SQLiteは少し過小評価されていませんか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 質問をする前に、まずSQLiteについての私の考えを説明しましょう。 私は、小さくて高速で、さらに重要なことに、本当に必要な機能のみを備えたツールが好きです。だから私はSQLiteが好きで、MS-SQLが少し好きではありません。 たとえば、MS-SQLにはさらに多くの機能、拡張性などがありますが、運が悪い場合はインストールするのが面倒な場合もあります。もちろん、難しいインストールが特定のデータベースを選択しない理由であると言っているわけではありません。 誤解しないでください。MS-SQLは高品質の製品です。私はMS-SQLの経験が豊富です。私はプロとして製品を非常によく理解しています。本当に必要ない(= 10-15未満のユーザーが少ない)状況では、あまり好まない。 データベースのどのくらいの機能を実際に使用していますか?私の経験では、多くの場合、通常のSQL(SELECT、INSERT、およびUPDATE)だけです。 SQLiteが好きです。速くて魅力的です。「インストール」は非常に簡単です。SQLiteは、主張できる以上のことができると思います。なぜ単一プロセス/シングルユーザーアプリケーションにのみ使用するのですか?結局のところ、データベースに常にアクセスしているアプリケーションは多くありません。 たとえば、15人のユーザーがいるERPアプリケーションを考えてみましょう。なぜSQLiteを使用できないのですか?私のプロフェッショナルな経験では、この種のアプリケーションのユーザーはほとんどの場合、アプリケーションを使用している合計時間の約5〜10%でデータベースにアクセスします。他の90〜95%では、画面上の情報を見ているだけで、グリッド/フォームにデータを入力しており、データベース時間の1秒以内の入力を保存しています。Fe:入力時間の1.5分と保存時間の1秒。 「保存時間」中にSQLiteデータベースファイルがロックされている場合、データベースにアクセスする必要のある他のユーザーは待機するだけですが、待機時間が非常に短い(気付かない)ので気が付きません。コードでは、例外を回避するために、データベースの可能性のある「ビジー」時間を処理する必要がありますが、それは難しくありません。 私と同じように考えなければならない人が、SQLiteのクライアント/サーバーソリューションであるSQLiteningを構築しさえしています。これにより、自分がだまされていないのではないかと確信しました。 もちろん、SQLiteが適合しないデータベース集約型のアプリケーションがあります。しかし、今私が考えているように、多くのマルチユーザーアプリケーションは、15ユーザー程度を超えなければ、SQLiteで問題なく動作するはずです。 多くのお客様はハードウェアにあまりお金をかけません。そのため、すべてのもの(Exchange、SQL(s)、クライアントなど)を備えた唯一のサーバーに遭遇することがよくあります。高いシステム要件を持たない製品を提供できれば、顧客は満足するでしょう。SQLiteは(少なくとも多くは)重みを追加しませんが、MS-SQLは追加します。SQLiteは無料、安価、または簡単にインストールできるため、SQLiteは選択しません。実用的/技術的な理由で選択します。 参考:私の職業では、平均して5-6人しか製品を使用しない顧客に製品(カスタムおよび標準、ほとんどはERP関連)を販売しています。いくつかの例外がありますが、10〜15ユーザーを超えません。 質問:私が説明した例のようないくつかのマルチユーザーアプリケーションにSQLiteを使用できると考えるのは正しいですか?知っておくべき技術的な欠点はありますか?正しい選択をするのに役立つ経験(ネガティブまたはポジティブ)は何ですか? 更新:これを他のデータベースの否定的な判断と見なさないでください。それらはほとんどすべてが素晴らしい製品です。ここで私の考えを共有し、これについてのあなたの意見に興味を持っています。

3
静的型システムは、プロトタイプベースの言語の設計にどのように影響しますか?
プロトタイプベースの言語でWikipediaの記事は、次の段落が含まれています。 ほとんどすべてのプロトタイプベースのシステムは、インタープリター型および動的型付け言語に基づいています。ただし、静的に型付けされた言語に基づくシステムは技術的に実現可能です。 静的型システムは、どのように制限を課すか、プロトタイプベースの言語に複雑さをもたらしますか?そして、なぜ動的に型付けされたプロトタイプ言語があるのですか?

6
C#がわからない場合に優れたC#開発者を雇う方法は?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 私はC ++開発者です。Windowsがネイティブレベルでどのように機能するかは知っていますが、私はC#と.NETの専門家ではありません。チームにC#開発者が必要になりました(開発者はすべてC ++です)。C#のレベルがわからない場合、どうすれば優れたC#開発者を雇うことができますか?質問をする方法、答えがすばらしいか、または愚かな間違いがあるかどうかをテストする方法は?
15 c#  c++  hiring 

1
「カオスモンキー」を実装し、効果的に対応する例はありますか?
Jeff Atwoodは最近、Netflixの「Chaos Monkey」の実装に関するブログ投稿を書きました。非常に高レベルの記事です。システムをテストするためにこの手法を実際に実装した人がいるかどうかは興味があります。 私が本当に求めていることは、システムがクラッシュする部分をアーキテクチャが生き残ることができるようにするために、どのような戦略を実装していますか?

3
モッキングフレームワークを選択する主な要因は何ですか?
私は単体テストでオブジェクトを使い始めたいと思っています。優れたモックフレームワークがたくさんあるようです。 異なるフレームワークには異なるターゲットオーディエンスがいますか? 自分の状況に合ったフレームワークを選択する際に考慮すべき要素は何ですか?
15 mocking 

11
期限に現実的な期待を設定する
私は小さなチームの技術リーダーです。私のプレート上の主要なタスクの1つは、クライアントとのコミュニケーションです。私が特に難しいと思うことの1つは、期限がクライアントによって義務付けられており、頻繁に相談されないためです。 通常、相互作用は次のパターンに従います。クライアントは、追加したい機能Xを考え出します。機能Xは、約6営業日後の来週のアプリリリースで見栄えがよくなります。この時点で、機能リクエストは承認を受ける必要があり、対処する必要がある他の依存関係が頻繁にあります。最終的に、N日後に、機能のリクエストが私のチームに伝わります。元のデッドライン(開発者以外のマネージャーが設定した)が達成できたとしても、それはもはや達成できません。私のチームは非難され、落胆し、全体的な敗北の雰囲気があります。私は落胆し、敗北します。 明らかに、プロセス全体が壊れています。残念ながら、私はここで権力の座にいないので、私にできることはあまりありません。私の現在のアプローチは、クライアントに開始日と締め切り、フィーチャーの範囲などについて穏やかに思い出させることです。これは言い訳をしているように感じます。 似たような状況にあったことはありますか?役に立たなかったこと、役に立たなかったことは何ですか?

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