MENTAでプログラミングを教えているのですが、
早くも生徒さんのコードが見違えるようによくなったので、ご紹介いたしますね^^
MENTAでプログラミングを教えているのですが、生徒様のおひとりがめちゃくちゃコード良くなりました。人の成長を見るのは幸せです。
— マイケル@ProWebEngineer (@4ro_ro4) 2019年3月5日
before
<?php
//1. 基本的な変数の宣言
$number = 5;
$text = 'test';
$flag = true;
$test = null;
//2. 基本的な計算
$a = 5;
$b = 20;
$c = $a + $b;
$d = $a - $b;
$e = $a * $b;
$f = $a / $b;
$g = $a % $b;
//3. 条件式とboolean(論理型)について
$var = false;
if($c % 2 == 0){
$var = true;
}
//4. 条件式
if($var % 2 == 0){
echo '偶数です';
}else{
echo '奇数です';
}
?>
after
<?php
//1. 基本的な変数の宣言
$number = 5;
var_dump($number);
$text = 'test';
var_dump($text);
$flag = true;
var_dump($flag);
$test = null;
var_dump($test);
//2. 基本的な計算
$num1 = 5;
$num2 = 20;
$addition = $num1 + $num2;
var_dump($addition);
$subtraction = $num1 - $num2;
var_dump($subtraction);
$multiplication = $num1 * $num2;
var_dump($multiplication);
$division = $num1 / $num2;
var_dump($division);
$moduls = $num1 % $num2;
var_dump($moduls);
//3. 条件式とboolean(論理型)について
$flag = false;
if($addition % 2 == 0){
$flag = true;
}
//4. 条件式
if($flag){
echo '偶数です';
}else{
echo '奇数です';
}
if(!$flag){
echo '奇数です';
}else{
echo '偶数です';
}
?>
何が変わったの?
どうです?何が変わったかわかりますか?
一番改善されたことは、変数名がめちゃくちゃよくなりました。
独学をずっとやっていると、どうしても他人がソースを見るという意識が得られませんので、
ついつい適当な変数名にしてしまうのですよね。
最初は特に意味のない$aや$varといった変数名としていましたが、
こちらからのアドバイスを元にご自身で考えられ、とても素晴らしい変数名をつけてくださいました!
変数名くらいと思われるかもしれませんが、これ、現場で働く上ではめちゃくちゃ大事です。
なるべく、初心者の頃からクールな変数名をつけられるようになると、
読みやすいソースを書けるようになりますし、現場からの評価も変わってくるでしょう。
このあたり、定番なリーダブルコードやコンプリートコードに書かれていますので、よろしければ参考にしてみてくださいね^^
どんな風にアドバイスした?
ソースを提出していただき、こんな風にアドバイスしました。
//1. 基本的な変数の宣言
変数の宣言に関しては問題ありません。//2. 基本的な計算
基本的な計算の書き方は問題ありません。
ただ変数名が気になります。無意味な$aや $bとするのではなく、数字を意味する変数にしましょう。
今回の場合ですと、$number1や、その短縮系の$num1などですかね。
足し算、割り算、掛け算、割り算、余りに関しても同様に
それぞれの計算式を意味する変数にする方がベターです。
ex)足し算:$sum = $num1 + $num2;//3. 条件式とboolean(論理型)について
booleanの宣言、偶数の条件式OKです!
ただこちらも変数名が気になります。$varと書かれておりますが、しっかりとtrue,falseを表すような変数名にする必要があります。
$flag,$flg,$checkなどが今パッと思いつく変数名です。//4. 条件式
条件式が違いますねー
まず$varはboolean型なので、数字ではありません。
よって、余りを計算するようなことはできません。条件式としては、設問3がtrueだったら偶数、falseだったら奇数と出力する必要があります。
こんな感じで、
ソースコードを提出 → レビュー、アドバイス → 再提出 → レビュー …
→ 完成! 疑問点の確認と次の課題
みたいなサイクルで進めさせていただいております。
どんな人にオススメ?
主な対象者としては、
・未経験からエンジニアになりたい人 ・基礎からしっかりとプログラミングを学びたい人
とさせていただいております。
私の課題をこなすうちに、しっかりと知識の復習。
さらに現場で働く上で必要最低限のスキル獲得を目指します。
まずはPHPの基本的なところから、しっかりと確認いただき、
そこからHTML、CSS、JavaScriptなどもこなして、Webエンジニアとして総合的な力を伸ばしていきます。
私のレッスンで現場でなんでもできるエンジニアにはなれないですが、
少なくとも、プログラマーとしてスタートが切れるレベルを目指します。
気になる方はぜひ、チェックしてみてくださいね^^