ソフトウェア工学

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

6
新しいもので良いコードを書くには?[閉まっている]
ここで何が尋ねられているのかを知るのは難しい。この質問は、あいまいで、あいまいで、不完全で、過度に広い、または修辞的であり、現在の形では合理的に回答することができません。再開できるようにこの質問を明確にするヘルプについては、ヘルプセンターに アクセスしてください。 7年前休業。 私はいつも、よく構成された読みやすいコードを書くようにしています。 私は何か新しいものをいじり回しているとき、私は特定の問題に直面します。私はコードや構造などを変更し続けています。結局、私はコードを見て、とても単純なことをしようとしたときにコードがどれほど複雑になったのか悩みました。 何かを完成させたら、それをよりリファクタリングしてよりクリーンにします。これはほとんどの場合完了後に発生し、コードが大きくなるほどコードを書き換えるのが面倒になるため、面倒です。 特に多くの人が共有する大きなプロジェクトで、人々がそのような苦痛にどう対処するのか知りたいです。

1
JavaのBigIntegerクラスに、数値リテラルを取得できるコンストラクターがないのはなぜですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 JavaのBigIntegerクラスに、数値リテラルを取得できるコンストラクターがないのはなぜですか?私はBigIntegerを使用するたびに、そして多くの場合、それらについて単に考えているだけで、これは不思議に思います。 Javaの設計者は、存在するはずの1つの圧倒的な便利さにもかかわらず、1つを除外しなければならなかったのはなぜでしょうか。

3
UNIX開発環境をWindowsに統合する方法[終了]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私はほとんどWindowsユーザーですが、ほとんどの開発(本質的にはWeb開発)はunixツールとソフトウェアを使用しています。私はVirtualboxで専用のlubuntu仮想マシンを使用することと、Windowsで直接いくつかのツール(msgit、python、django)を使用することを行ったり来たりしてきましたが、これらの方法はどれも完全に満足できるものではありません。 他の開発者がUNIXワークフローをウィンドウに統合するためにどのように使用するかについて知りたいのですが。たとえば、LinuxとVMとWindowsの間のより緊密な統合。気まぐれなデモは、VMがWindowsプロジェクトフォルダーからどのように機能するかを示しており、私はそれが素晴らしいと感じました。OS Xで見つけることができるワークフローを模倣するのに役立つ他のツールやヒントを聞きたいです(もちろん、同じUNIXの基盤がないため、Windowsと緊密に統合できないことを理解しています)。 PS:cygwinも試しました 私が何を欠いているのかを明確にするために編集します(それを指摘してくれたaxblountに感謝します)。多くのスクリプト、インストーラーは追加の構成を必要とするか、まったく機能しません。たとえば、virtualenvwrapperを動作させるのは簡単ではありません。virtualbox:理想的には、LinuxでシームレスにWindowsソフトウェア(photoshop、崇高なテキスト2)を使用したいと思います。私は主にFTPクライアントatmを使用して、Windows側で編集されたファイルを移動しますが、これは面倒なプロセスです。 概要: 確立された解決策はないようです。一時的な解決策として、可能であれば、ウィンドウズのコマンドラインからフレームワークとライブラリのネイティブバージョンを使用し、互換性のないプログラムのためにvagrantなどのツールに切り替えようとするでしょう。 返信とコメントの詳細情報: @GlenPetersonによって指摘されたように、大文字小文字の区別の問題はWindowsに対して機能するようです

1
JavaScriptオブジェクトとCrockfordのThe Good Parts
最近、JSでOOPを実行する方法についてかなり考えています。特に、カプセル化と継承に関してはそうです。 Crockfordによれば、classicalはnew()により有害であり、prototypeとclassicの両方が制限されています。これらのコンストラクターの使用は、カプセル化にクロージャーを使用できないことを意味します。 最近、私はカプセル化について次の2つの点を検討しました。 カプセル化するとパフォーマンスが低下します。各オブジェクトのメソッドには異なるクロージャーがあるため(各オブジェクトには異なるプライベートメンバーがあるため)、プロトタイプではなく各メンバーオブジェクトに関数を追加できます。 カプセル化によって、醜い「var that = this」の回避策が強制され、プライベートヘルパー関数が接続されているインスタンスにアクセスできるようになります。それか、毎回privateFunction.apply(this)でそれらを呼び出すようにしてください。 私が言及した2つの問題のいずれかの回避策はありますか?そうでない場合でも、カプセル化はそれだけの価値があると考えていますか? 補足:Crockfordが説明する機能パターンでは、new()とconstructor.prototypeの使用を完全に忘れているため、パブリックメンバーにのみ触れるパブリックメソッドを追加することもできません。古典的な継承とnew()を使用するだけでなく、Super.apply(this、arguments)を呼び出してプライベートメンバーと特権付きメソッドを初期化するハイブリッドアプローチは優れていますか?

5
ユーザーストーリーを再推定する必要がありますか?
私の現在のプロジェクトは、途中で分割された「ディスカッション」を持っています- 「このストーリーは当初考えていたよりも複雑です。再推定する必要があります」対「決して再推定する必要はありません。 "。 あなたが再推定する必要があるかどうかについて誰かが光を当てることはできますか? 私見私はあなたが新しい要件やストーリーのために完全に新しいカードを持ち出すことができると想像しますが、戻ってバックログアイテムを再推定することは相対的なサイジングの概念を歪めているようで、バックログを「膨らませる」だけです。

2
コードコンプリート2のこの段落は逆ですか、それとも誤解していますか?
第13章では、ポインターについて話すときに段落があります。 ただし、場合によっては、参照渡しのセマンティクス、つまり、渡されたオブジェクトを値渡しの実装で変更しない、つまり、コピーではなく実際のオブジェクトを渡す必要がある場合があります。 著者は間違いを犯し、2つを混同したようです。これは本当ですか、それとも私は彼が正しく言っていることを理解していませんか?

4
どのようにしてコードに対して建設的な批判を得ることができますか?
私のチームがコードレビューを行うことはめったにありません。これは、主に十分な時間がないため、人々はエネルギーを欠いており、そうするつもりだからです。しかし、私のコードを読んだときに、人々が私のコードについてどう思うかを本当に知りたいです。このようにして、他の人が私のコードをどのように考え、調整するかを理解し、読みやすくしています。 だから私の質問は、どうすれば私のコードに対して建設的な批判を得ることができるのですか?私の目的は、より読みやすいコードを記述できるように、人々の考え方を理解することです。

1
どういうわけかソースファイルにマップされた別のdocsファイルのJavaコードドキュメント?
インラインJavaドキュメントに代わる優れた方法は何でしょうか。つまり、Javaソースファイルに何らかの方法でマップされた個別のドキュメントファイルを持つことができますか? 私はコードに散らばっている巨大なコメントセクションが好きではありません。

2
スクリプトのどこに定数を定義すればよいですか?
PowershellやJavaScriptなどの最新のスクリプト言語を使用してスクリプトを作成する場合、定数をどこに定義すればよいですか?可読性と使いやすさのためにすべての定数をグローバルにする必要がありますか、または定数をスコープにできるだけ近く定義することは理にかなっていますか(関数で、たとえば、他で必要ない場合)。私は主にエラーメッセージ、エラーID、リソースへのパス、または構成オプションについて考えています。

2
一括コミットvsクイックコミット[終了]
ここで何が尋ねられているのかを知るのは難しい。この質問は、あいまいで、あいまいで、不完全で、過度に広い、または修辞的であり、現在の形では合理的に回答することができません。再開できるようにこの質問を明確にするヘルプについては、ヘルプセンターに アクセスしてください。 7年前休業。 私はあなたのほとんどがプロジェクトの戦略と方法論に沿ってアドバイスすることを知っています。 しかし、私は簡単な質問をしますが、シニアの観点から、開発者からの小さな小さなコミット、またはブランチにプッシュされた大きなコードの塊を見るには何が良いでしょうか?

2
C ++ Webスタックがありますか?
Javaは、JVMおよびTomcat(またはGlassfishな​​ど)で実行されるjspおよびサーブレット(またはSpringなどのフレームワーク)です。 C#はASPであり、C#はdot.netフレームワークとIISで実行されますか?(これに関する経験はありません。私の用語を修正して改善してください) C ++に相当するものはありますか?Javaサーブレット/コントローラからC ++を喜んで呼び出すことができましたが、Webフロントエンドを使用してC ++でビジネスロジックを作成するための既存のフレームワークとライブラリがそこにあるかどうか疑問に思いました。

1
関数型リレーショナルプログラミングと関数型プログラミングの違いは何ですか?
このスレッドとリンクされた論文の両方を読んでも、 FRP(関数型リレーショナルプログラミング)が(FP)関数型プログラミングとどのように異なるのか理解できません。 FRPはFPを増強または置き換えますか?FRPをFP言語のライブラリとして実装できますか?

6
1時間ごとにコードを実行する[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 4年前休業。 1時間ごとに実行されるWebサービスを作成する必要があります。これは、データベース内のデータを確認し、特定の条件が満たされている/満たされていない場合に同じデータベース内のテーブルにアラートを追加するために使用されます。私たちが現在持っているものは: Pythonを使用してAmazon Web Services(AWS)仮想サーバーにレポートするエンドデバイスがあります。AWSサーバーはその情報を取得してMySQLデータベースに保存します。AWSサーバーはDjangoとApacheを実行するLinuxです。エンドデバイスによって保存されたデータを検証するPythonコードを毎時間実行できるようにする必要があります。特定の条件が満たされない場合alerts、データベースのテーブルにレコードが追加されます。 上記の設定を作成することを最初に契約しました。Python、Django、Apacheは初めてです。ただし、エンドデバイスとの間でデータを送受信するPythonコードにはすでにいくつかの変更を加えています。私はWebプログラミングに侵入しているコーダーです。 誰か私がこれを行う方法について何かアドバイスはありますか?

5
「…」演算子はどのように発音しますか[終了]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 現在、C ++では「...」が最初のクラス演算子になりました。スピーチでは、どのように発音しますか? これまでに聞いたことがある: 点点々 三点 省略 関連:書面で...を省略記号で置き換えても大丈夫ですか?例:「省略記号演算子はパックを展開します」 編集(説明):句読点としての「...」が実際に省略と呼ばれていることは誰でも知っています。ただし、C ++のコンテキストでは、句読点の名前を発音しません。たとえば、「&」演算子は、コンテキストに応じて、「and」、「bitwise and」、「address of」、「logical and」(&&を使用する場合)、または「reference」として発音されます。「アンパサンド」と発音されることはほとんどありません。 スピーチでは「ドット・ドット・ドット」がよく使われている気がします。例:http : //channel9.msdn.com/Events/GoingNative/GoingNative-2012/Variadic-Templates-are-Funadic(可変テンプレートについての優れたプレゼンテーション)。 一方、「ドットドットドット」は発音しにくい(「d」と「t」はどちらも舌で発音します)。 「unpack」と発音できますか?
8 c++  c++11 

1
Datamapperでクラスのないテーブルは可能ですか?
次の属性を持つItemクラスがあります。 itemId,name,weight,volume,price,required_skills,required_items。 最後の2つの属性は複数値になるため、それらを削除して次のような新しいスキームを作成します。 itemID,required_skill(itemIDは外部キー、itemID and required_skillは主キーです。) 今、私はこの新しいテーブルを作成/使用する方法に困惑しています。私が思いついたオプションは次のとおりです。 1)ItemsとRequired_skillsの関係は1対多であるため、requiredSkillクラスを作成することができます。これは、one_to Itemにn個のRequiredSkillが含まれています。その後、私は行うことができますItem.get(1).requiredskills。これは私にとって最も論理的に聞こえ、次のようなメソッドとクエリを提供します。 sugar.components.create :raw_material => water.name sugar.components.create :raw_material => sugarcane.name sugar.components sugar.components.count 2)required_skillsは(ルールに似ているため)定数と考えることができるため、ハッシュデータベース、gdbmデータベース、または別のsqlテーブルに入れて、そこからクエリを実行することもできます。 私の質問は:データマッパーのモデルレステーブルのようなものはありますか?データマッパーはテーブルの作成と整合性に責任があり、データマッパーの方法でそれをクエリすることができますが、SQLで行うようにクラスを必要としません? 最初の方法を使用して問題を解決しました。正規化プロセスごとに新しいクラスを作成しました(上記の1対多の関連付けのように見えます)。しかし、私はオブジェクト指向プログラミングに不慣れであり、そのような正規化ごとに新しいクラスを作成することが、データマッパーでそれを行う通常の方法であるのか、それともハックであるのかわかりません。これと、これを行うためのより良い方法があるかどうかは、私が知りたいことです。 あずきっく 再読datamapper.org団体に数回、今私はDataMapperのは確かに参加するために別々のクラスを必要としていることがわかります。だからあなたは私の質問に答えました。しかし、ロバート・ハーベイが賞金を置いたので、私はダイナミックな方法についての応答をもう少し待つ責任を感じています。 あなたのコードは不満を述べましたCannot find the child_model Container for Item in containers。私はそれを以下のような自己参照関連付けの2番目の例でうまく動作させることができました(他のものへの参照としてここに置く): class Item class Link include DataMapper::Resource storage_names[:default] = "requirement_links" belongs_to :require, "Item", :key => true belongs_to :required, …

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