2016-07-08 11 views
0

次のことについて私のチームメイトと議論しました。新しい機能をいつ作成しますか?

文字列のシンボルをint(常に数字です)に解析する必要がありますが、この特定の機能はさまざまな場所で使用されます。だから、これはこの方法を行うことができます。

var a = int.Parse(str[i].ToString()); 

引数があった。我々は、このための関数を作成する必要があります。

使用することができます
int ToInt(char c) { 
    return int.Parse(c.ToString()); 
} 

var a = ToInt(str[i]); 

私の意見は、このような関数を作成することは悪いことである:それは少ないカップルの文字を入力する以外何の恩恵を与えない(いや、私たちはオートコンプリートを持っているように)が、そのようなプラクティスはコードベースを増加させ、追加機能を導入することによってコードをより補完的にする。私のチームメートの理由は、このような機能を1つだけ呼び出すほうがはるかに便利であり、そのような練習では何も悪いことではないということです。

実際に質問は一般に関連しています.23-3-4関数と新しい関数の組み合わせをラップするのは大丈夫ですか? 私はあなたの意見を聞きたいと思います。

これは主に個人の好みに基づいて定義されています。しかし私は、このような状況のためのコンベンションをプロジェクトの中で定義するための客観的な要素も聞きたいと思います。

+0

これは個人的な意見/施設固有のスタイルコンベンションです。 –

+0

''あなたの意見を聞きたいのですが '' - それだけです、これはまったく個人的な意見に基づいています。もう一つのオプションは 'string'や' char'の拡張メソッドを書くことで、 'someString.ToInt()'と呼ばれることもあります。既に存在する 'Convert'クラス)。これに関するすべての最終的な技術的ルールはありません。チームメイトは、非常に有効な、しかし主観的な理由から、主題に同意できない。 – David

+0

私は専門家ではありませんが、同じことをしてスタックにいくつかのものを保存し、関数の新しい呼び出しを保存するので、プロセッサがその関数で行う作業が増えると思います。 – lazyy001

答えて

-1

実際には、設計はさまざまな方法で行うことができ、ソフトウェア全体の実際の設計、読みやすさ、リファクタリングの容易さ、カプセル化に依存します。これらのことは、それぞれの機会にそれ自身で検討されるべきである。

しかし、この特定のケースで、私は、その優れた機能せず、それを維持し、多くの理由のための最初の例として、それを使用すると思う:コードの実際には1行

  1. その。
  2. パフォーマンスで関数を呼び出すオーバーヘッドは、それを作成することではるかに大きなメリットになります。
  3. コンパイラ自体は、必ずしもそうではありませんが、それを関数にすると、おそらく1行の呼び出しに再び展開します。

エラーチェック機能を追加する場合は、主にエラーチェックを追加する必要があります。

1

新しいサブルーチン/メソッド/関数を作成する理由はたくさんあります。ここにはほんの少しのリストがあります。

  1. サブルーチンが複数回呼び出されたとき。
  2. コードを読みやすく/理解しやすくする場合。
  3. 個人の好み。
関連する問題