Hiragi(GKUTH)の日常
理系大学生の日記

読みやすいコードとは。

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

読みやすいコードとは。

投稿記事 by Hiragi(GKUTH) » 11年前

受験も終わり、新しい高校生活にも少しずつ慣れてきて、そしてC++で遊んでおりますHiragiことGKUTHでございます。
とあるサイト様を参考にC++を習得していってるのですが、継承と言うモノが出てきたあたりから変数の名前の付け方に悩むようになりました。
例えば。
► スポイラーを表示
どちらかと言うと一時的な変数の名前、s, s_s,n,とか、そういうの作り過ぎるとわけわからなくなりそうでコワイんですよねぇ、
変数ごとにコメント書くのとかでもいいのかもしれませんが...

アバター
せんちゃ
記事: 50
登録日時: 14年前

Re: 読みやすいコードとは。

投稿記事 by せんちゃ » 11年前

変数名はできる限り規則的にするのは鉄則ですね。
クラスライブラリを使っていると設計や命名規則の点で非常に勉強になります。
Stream等の入出力系はかなり参考になりました。
コードの読みやすさというとやれ関数化だとか変数名に話が行きやすいですが、それよりコードが複雑にならないのが一番読みやすいと思うのでできる限り制御構造は使わないのがポイントだと思っています。

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

Re: 読みやすいコードとは。

投稿記事 by Hiragi(GKUTH) » 11年前

>>せんちゃさん

規則的、ですかー
ウーン、難しそうですね、とりあえずC++4.8系列の文法を覚えてからそこら辺は求めていくことにしましょうかね、C++11/14にも興味がある...
リーダブルコードほすぃ

taketoshi
記事: 222
登録日時: 14年前

Re: 読みやすいコードとは。

投稿記事 by taketoshi » 11年前

変数名を省略するのは自分の首を絞めるダメぽ行為だと思っております。

Neko(string s)だったらNeko(string argsCatName)みたいに付けます。
SisanNeko(string s_s, int s)だったら、SisanNeko(string argsSisanCatName,int argsFortune)みたいな感じ?
私は宣言部分も省略せずに変数名を記載しておきます。やっぱり型名だけでは解りにくいとおもっています。
自分に合った変数の命名方法を見つけてみる事をお勧めします。

javaの話ですが、読みやすいコードの書き方を紹介したスライドがあります。
(ちいさなオブジェクトでドメインモデルを組み立てる)

14枚目のスライドはせんちゃさんが指摘していることも載っております
Javaといえど勉強になります。私は、、まぁ3割位しか取り入れられてません。

else句を使わないコーディングとか初心者には?な事を提案しておりますが
コメントをバシバシ入れるより、コードが読みやすくなりますよ。
最後に編集したユーザー taketoshi on 2014年4月26日(土) 02:04 [ 編集 1 回目 ]

アバター
usao
記事: 1889
登録日時: 12年前

Re: 読みやすいコードとは。

投稿記事 by usao » 11年前

なんだろう…こんな宣言とか
>SisanNeko(string, int);
わざと わかりにくいコード を目指して書いているようにしか見えない…

たとえば,私が

CODE:

class IMG
{
  public:
    IMG( size_t, int, int, size_t );
    ...
};
とかいうヘッダを書いてあなたに「使ってください^^」って渡したとしたら,
使い方がわかるのでしょうか? これが

CODE:

    IMG( size_t BytesPerPixel, int ImgW, int ImgH, size_t BytesPerLine );
とか書かれていたら,全然違いますよね.

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

Re: 読みやすいコードとは。

投稿記事 by Hiragi(GKUTH) » 11年前

>>taketoshiさん
なるほど、やっぱり自分で命名方法を決めて関数や変数名決めていった方がよさそうです。
スライドを見てみましたが私にはさっぱりでした^^;文法を覚える、とか使いこなせるようになる以上にコーティング方法とかのほうを勉強したほうがいいんですかねぇ...
(コーティング方法を習得するという言葉の中に言語自体が使いこなせるという意味があるのかもしれませんが)

>>usaoさん
決してわざとではないです。知識が浅すぎるせいです。C++勉強してる時にですね「コンストラクタを(仮?)宣言するときなら型名だけでよい」云々の記述がありまして、
なんというか、省略するのが大好きなのでつい自然と最低限の事しか書かないという風になってしまうのです。
確かに他人から見たら「ナニコレ?」ですね...
いづれ共同開発でもすることになったら...と考えると今のうちにそういう癖をつけとこうと思いました。


ウーン、先は長いなぁ...

アバター
usao
記事: 1889
登録日時: 12年前

Re: 読みやすいコードとは。

投稿記事 by usao » 11年前

コトストラクタに限らず,関数を宣言するだけなら
戻り値の型,関数名,引数の個数と型 さえわかればよいので
int func( int, char, void* );
という感じに 引数の変数名を省略することができます.
が,それでコンパイルや実行には問題がないことと,人間が読みやすいこととは別だということですね.
ご自身が 読みやすい 書き方を見つけられるとよいですね.

自分で書いたコードを数ヵ月後に自分で解読する場面を想像してみると
そこらへんの雰囲気がわかるかもしれません.
自身の能力(記憶力やコード解読力)が低ければ低いほど,わかりやすいコードを書くように努めないと
後々苦労する羽目になるのです(ウッ…