思考停止するな

ネットワークとかアプリケーションとかWebとか

プログラミングにおける変数の違いとアクセス修飾子について

変数の違いとアクセス修飾子が最近忘れてしまっているような気がしたので、復習がてら調べてみた。

メンバ変数

クラスの中にある変数で、オブジェクトが持つパラメータ(Class に属する変数)のことを、このクラスのメンバ変数という。

ローカル変数

プログラムの一部分でしか利用できない変数。メソッド内やループ内で定義された変数。

アクセス修飾子について

アクセス修飾子説明備考
Publicすべての場所からアクセス許可
Privateクラス内からのアクセスのみ許可
Protectedクラス内、または派生クラスからのアクセスのみ許可
Friendプロジェクト内からのアクセスのみ許可
Protected Friendプロジェクト内、クラス内、派生クラスからのアクセスのみ許可

✳︎継承元のクラスを「基底クラス」、「ベースクラス」等と呼ばれ、継承によって作成されるクラスを「派生クラス」と言う。

コードレビューの際に気をつけることを考えてみた

今回はコードを書いてレビューしてもらう立場ではなくコードレビューを行う立場になった時に気をつけることを考えてみました。

私はまだまだプログラミングの経験も浅く、コードレビューができる様なレベルではないのですが、
レビューする立場に立って考えることで、違う見方ができるかもしれないと思いコードレビューの際に気をつけることを考えてみました。

チェックすべきこと

・コーディング規約を守れているか
・意味の無いロジックが含まれていないか
・コメントが適切か
・命名が適切か
・メソッドが1つの機能以上の役割をしていないか
マジックナンバーが仕様されていないか
・適切な例外処理が入っているか
・バグの温床になりそうなところはないか
・スコープは適切か
・行数が長すぎないこと
・似たような処理が複数ないか

指摘する時に気をつけること

・複数人でのコードレビューを行う場合必ず指摘する
・指摘する内容ではいけない理由と代替案の提案をする
・否定ばかりをしない(褒める)
・相手が納得できる説明をできるように頑張る
・レビュー後にモチベーションを上げられるように工夫する

以上のようになりました。
思った以上に思いつかなかったのはやはり私の実力不足でしょうか。
コードレビューの内容って自分にもそのまま返ってくるので、お互いに交互にやったりすると成長できるかもしれないですね。
また、コードレビューを通して知ってることを教えあったり、テクニックや注意点ややり方を盗んだり、どう書けばより良いものになるのか上司も部下も関係なしに議論できたらいいものにできるように思います。