プログラミング

プログラミング

PR

【コードは「書く」のでなく「翻訳」すべし!】覚えておくと便利なコード論

2,012 views

読了時間 : 約2分23秒

 

認めるかどうかは別として、事前段取りなしにコードを記述できる人間はいません。ここに、コードを作る際にプランを立てることの大切さと、有益さを気づかせてくれたエピソードがあります。

コードをどう書くかではなく、を作り上げたいのか、を最初に考えることが肝心です。

writecode①

 

プロのプログラマーとして、コードを「書く」必要がある、と思いこんでいませんか?

しかし誰も、たとえマーク・ザッカーバーグでさえもコードを「書く」ことはできない

 

プロのプログラマーというのは、コードへ「変換」する能力に長けているだけなのです。もう少し詳しく説明しましょう。

 

 

プロジェクトを完成させるように言い渡されると、そのボリュームに圧倒させられてしまうことがあります。たとえ完成させるのに必要な工程をすべて把握していたとしても、どこから手を付ければいいか分からない時もあります。

 

 

どんなプロジェクトでも、最初のステップですることは小さなタスクに分けることです。そして指示を出す。全工程を終える頃には、どこから手を付ければいいか明確にわかるようになり、巨大に感じられていたプロジェクトは気にならなくなります。

 

 

実際にコードを作り始める前に、ステップがもうひとつ。それは、成し遂げたいことをセンテンス毎に分解することです。人間の脳はコードを「書く」ようにはできていません。脳の構造的に無理なのです。しかし、コンピューターに何をさせたいかを明確にし、そのタスクをコードへ変換することは可能です。

 

ここに例を挙げましょう。

あるプログラミングのコースで1人の生徒がJavaScriptのドキュメンテーションで行き詰っていました。

問題を解決するために彼と一緒に考えたコードが下記です。


 

10行のコードで問題解決です。ただし、次のような工程を踏まない限りこの10行は作り出せません。

  • ・まず配列をソートします。FCCにArray.prototype.sortというヒントがありますよ!
  • ・JavaScriptは配列のソート方法を知らないので、アルゴリズムを使って教えます。
  • ・console.log で配列がソートされたか確認します。
  • ・ループ文を使ってソートされた配列のどこに配置するか確認します。
  • ・ループの中で、ソートされた配列の数値がパラメータと同等またはそれ以下になっているか確認します。
  • ・もし同等またはそれ以下になっていれば、数値を入力するindexを見つけたことになるので、returnし、ループを止めます。
  • ・indexを見つけられなかったら?数値が配列の中で最大値になっていたら、正しいindexをreturnする必要があります。

 

 

さて、記事もここまで来ました。

「擬似コードのパワー」についてもご紹介しましょう。

擬似コードを耳にしたことがあるかもしれませんが、それは一体何なのでしょうか?そしてどう活用したらいいのでしょうか?

 

 

擬似コードとは、プログラマーが事前段取りの際に使用する速記法です。ホワイトボードやその他の手書きができる媒体に書き出します。脳内にあるアイディアや考えをアウトプットする作業なので、PCもいらないし、構文的に完璧である必要もありません。

聞き覚えがありませんか?そうです。まさにこの記事で説明してきた手法です。完全なセンテンスを書き出す代わりに、ちょっとズルをして使い方を知っている方法で書き出すのです。

 

作ったコードをセンテンスに逆変換することで、問題は見つけやすくなります。

 

 

コード記述を始める前の段取り工程の必要性を受け入れることが、重要な一歩になります。プロジェクトや課題、アプリケーションなど、規模の大小にかかわらず、変換することによってプログラミング速度は必ず上がります。

 

 

 

※本稿は 「Stop trying to “write code” and focus on “translating to code”」を翻訳・再編集したものです。

おすすめ新着記事

おすすめタグ