プログラマーって憧れたりしますよね?世界中に新しいサービスを提供したり、ハッキングで会社の情報を守ったり。
でもプログラマーはとても難しくて、上達の方法も良く分かりません。”センス”って言ってしまう人も多いです。
そんな今回はプログラム開発を以下の3つからまとめてあります。
1.プログラムの開発とアルゴリズム
2.プログラミング言語
3.ペアプロトテストファースト
【コンピュータが命令を処理する手順であるアルゴリズム】
プログラムの開発とは?
・何かしらのプログラム言語でコードを書くことであり、コーディング、実装、プログラミングなどとも呼ばれます。
・プログラマは、設計フェーズで作成したプログラム設計書に基づき、入力データ、出力データ、アルゴリズムを指定しながらプログラミング言語の文法に基づいてコードを書きます。
アルゴリズムの基本要素3つ
・順次進行
・条件分岐
・繰り返し
よく使われる処理
・データを整列させるソート
・データを見つけるサーチなど
開発する際に、処理のスピード(効率)と管理しやすさ(保守)を両方させることが求められます。
【システムの種類・規模などから決められるプログラミング言語】
プログラムの開発ではどのプログラミング言語や開発環境で開発するのが適切かを考えなければなりません。その際に言語特性、データベース接続、フレームワーク、開発言語、エンジニアの確保しやすさ、生産性を考えないといけません。
エンジニアの確保が難しい場合”外注”という手もあります。
プログラミングの分類
<手続き型言語>
・データに対する手続き(処理手順)を記述する。
➡実績があり安定している
<オブジェクト指向言語>
・データ+命令の単位でプログラミング
➡再利用性が高い反面、エンジニアに高いスキルが要求される。
【ペアプログラミングとテストファースト】
アジャイル開発に導入されています。
<ペアプログラミング>
・2人のプログラマセットでコードを書きます。
➡一人はドライバーとしてプログラミングを行い、もう一人はナビゲーターとしてドライバーのコンピュータを見ながら、コーディングの考え方やエラーの有無などをチェックします。
➡ペアプログラミングには、ケアレスミスによるバグの削減、スタッフのシステムやチームに対する理解工場などのメリットがあります。
<テストファースト>
・開発者自らテスト・プログラマを作ってからコーディングします。
➡設計に対する理解と検証が楽になり、早期にバグが見つかるなどのメリットがあります。