HAL-RO-Developer / iot_platform

2 stars 0 forks source link

コードレビュー(DigitalWrite) #2

Open hiyanaka opened 7 years ago

hiyanaka commented 7 years ago

背景

コードの品質を上げる必要性がある。

目的

レビューを行いコードの品質を上げるため。

対応内容

コードレビューを行う

https://github.com/HAL-RO-Developer/iot_platform/tree/master/device/source/end_func/DWrite

makki0205 commented 7 years ago

■23行目 文字列作成に規則性が見られる。 関数化し、同一処理が散見されるのを防ごう。 これを行うことで、余計な変数宣言も回避出来る。 https://github.com/HAL-RO-Developer/iot_platform/blob/b44ae3d055ab7185023b39815f09e48f99bc47bd/device/source/end_func/DWrite/blinkDWrite/blinkDWrite.ino#L23

■ローカル変数・グローバル変数 ①ローカル変数  必ず初期値を入れること(戻り値の場合はエラーIDを格納)。  これは後々アルゴリズム変更時に発生し得る不具合を回避する為。

②グローバル変数 setup関数での初期化に加え、12行目の宣言時でも初期値を入れるべき。

■コメント 全てのコメントが単語で、理解し辛い。 万人が理解出来る、端的な文章で記述すること。

■意味のある数値 他の箇所でも使用する可能性のある「意味のある数値・文字列」は、全てdefine化すること。 https://github.com/HAL-RO-Developer/iot_platform/blob/b44ae3d055ab7185023b39815f09e48f99bc47bd/device/source/end_func/DWrite/blinkDWrite/blinkDWrite.ino#L18

https://github.com/HAL-RO-Developer/iot_platform/blob/b44ae3d055ab7185023b39815f09e48f99bc47bd/device/source/end_func/DWrite/blinkDWrite/blinkDWrite.ino#L28

https://github.com/HAL-RO-Developer/iot_platform/blob/41f6d01ba34d79f19206d8a9082d6910da2b2000/device/source/end_func/DWrite/blinkDWrite/blinkDWrite.ino#L39

https://github.com/HAL-RO-Developer/iot_platform/blob/41f6d01ba34d79f19206d8a9082d6910da2b2000/device/source/end_func/DWrite/blinkDWrite/blinkDWrite.ino#L39

■digiWrite関数 関数は”誰から呼ばれるか分からない”。 故に引数チェックは必ず入れ、エラー時はユーザー通知をするべき。 落ちる可能性は極力排除すること。 https://github.com/HAL-RO-Developer/iot_platform/blob/41f6d01ba34d79f19206d8a9082d6910da2b2000/device/source/end_func/DWrite/blinkDWrite/blinkDWrite.ino#L66

■Serial.printlnを呼び出している箇所 引数の設定方法に統一性が無い。 直文字の場合もあれば、変数を入れてる場合もある。 パターン文字列は全てdefine化し、変更に強くすると共に、統一性の向上を図ること。