関数の引数の入出力は明確にした方がソースを読みやすくなります。
そして、関数にストリームを渡すことも多いです。その入出力をどのように書くのが分かり易いのか、ちょっと悩ましいです。
下記のような説明はそれほど違和感はないと思います。
C++
1void WriteByAPI 2( 3 int iFd, // (IN )出力先ファイルのハンドル 4 DataClass const& iData // (IN )出力データ 5);
その延長で私は下記のように書くことが多いです。
C++
1void Write 2( 3 std::ostream iOStream, // (IN )出力先ストリーム 4 DataClass const& iData // (IN )出力データ 5);
しかし、iOStreamは出力先だから入力は可笑しいという議論があります。
上記2つのケースは意味的には同じですし、出力先ですのでiFdとiOStreamは出力と説明した方が良い筈ですが、どうも強い抵抗を感じます。
「ファイル・ハンドルやストリーム」を受け取るのではなく渡しているのだから、入力であると感じている自分がいます。
上記2つのケースがどちらとも存在しているプロジェクトについて、iFd, iOStreamを「入力と説明する」、「出力と説明する」、「入出力と説明する」、「入出力について述べない」等、何が一番可読性を上げることができるでしょうか?
感性の問題でもあると思いますので、確定的な答えは出ないような気もします。
ですので、皆さんのご意見を下さい。
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/10 05:49
2016/12/10 11:39
2016/12/10 13:19
2016/12/10 14:02
2016/12/14 01:56