私のような、なんちゃってソフトウェアエンジニアがこんなタイトルで
記事を書いてしまっていいのかと悩んでしまったのですが、書こうと思ったのでこのまま突き進もうと思います!
最近はソフトウェア開発に携わる仕事が多くなってきて
コーディングする時間が増えて、大変有意義に過ごさせてもらっています。
その中でも、自分が苦手とする
「コードを簡潔に書く」ために勉強していて、実際に役立っていると感じる方法について
紹介させていただければと思っています。
まえおき的な話
プログラマーとして一番大切なスキルの1つに
「コードを書かないこと」があげられます。
なんじゃそりゃ、みたいな書き方をしましたが
とにかく短くて簡潔なコードを書いたほうが、ソフトウェア開発にとっては重要になります。
当たり前のことかもしれませんが、ソフトウェアの作り始めの時は、コードが少なくてとても快適な状態です。
ソースコードが書かれたファイルは1つ2つくらいなもので、どういう関数を作ったのか~クラスはどこにあるのか~がすぐに分かると思います。
しかしソフトウェアの規模が大きくなってくると、大量のファイルが存在してどこで、どんな関数があるのか分からなくなったり(今日も職場で大変だったがそれは別の話)バグの発生原因の特定が困難になったりしてきます。
なのでコードを小さく保つことは、とても重要なのです。(ここまで自分への戒めとして書いてます)
標準ライブラリを使おう
意外かもしれませんが、標準ライブラリやモジュールを使いこなせていないプログラマーの方は
そこそこいるのではないでしょうか?
例えば昔私が失敗した例でいうと
JavaScriptを使って、配列から最小の値を取得するときに以下のようなコードを書いていたことがあります。
function findMinValue(arr) {
// 最小値を最初の要素として初期化
let minValue = arr[0];
// 配列の残りの要素と比較して最小値を更新
for (let i = 1; i < arr.length; i++) {
if (arr[i] < minValue) {
minValue = arr[i];
}
}
return minValue;
}
// 使用例
const numbers = [5, 2, 8, 1, 7];
const minValue = findMinValue(numbers);
console.log("最小値:", minValue);
しかし、JavaScriptではMathという組み込みのオブジェクトが存在していて、
それを知っていれば下のように簡潔に書けます。
const numbers = [5, 2, 8, 1, 7];
const minValue = Math.min(...numbers);
console.log("最小値", minValue);
こんな簡単に書けるのかーと最初はびっくりしましたが
今となっては、かなり勉強不足だったな~と思ってます。
個人的に好きな標準ライブラリの勉強方法
1番の勉強方法は、しっかりと公式ページの標準ライブラリのページを読むことです。
ただ数も多いし、よく使うのがどれか分からない。。。
みたいな人にはCODEEPREPからでもいいかな~と思っています。
普段しない書き方にも触れることもGoodポイント。
でもある程度慣れたら、公式ページをがお勧めです。
Pythonはバージョンによって色々追加しているので、読んでいて楽しいです。
最近3.10から線形回帰が標準ライブラリで出来ることを最近知って目が飛び出ました。
scikit-learn使わなくていいね。
おわりに
ここまで読んでいただき、ありがとうございました。
あんまり特別な話もなく、よく言われていることを自分なりに文章にしてみました。
自分はこんな簡単なコードを書いたなど、あれば教えていただければ幸いです。
最近めっきり寒くなってきましたが、皆様体調の方は大丈夫でしょうか??
朝が寒くなり、最近は朝起きるのが辛いです、、、、
次の木曜は祝日でおやすみなので、ぐっすり眠りたいと思います!
それでは。