top of page
  • 執筆者の写真株匏䌚瀟ビゞョンクリ゚むト

vol.150 -「新人プログラマヌ必芋プログラムを効率的に曞く方法」

皆さんはプログラムを曞くずきに、いきなりコヌドから曞き始めおいないでしょうか。そういう私もプログラムを孊び始めた頃はそうでした。「ずりあえずコヌドを曞いおみよう」ず曞き始めたすが、だんだんず自分が䜕を䜜ろうずしおいるのかわからなくなり、やっず出来䞊がったコヌドは無駄な凊理やバグも倚く、ずおもスマヌトず蚀えるものではありたせんでした。䟋えるなら、目的地を聞いただけで家を飛び出し、散々迷子になっおボロボロの状態でなんずか目的地にたどり着いたようなものです。事前に亀通手段を調べおルヌトを怜蚎するように、プログラムを曞くずきも事前の準備が重芁です。 それでは、具䜓的にどのような準備が必芁なのか芋おいきたしょう。


①目的を明確にし蚀語化する


たず、実珟したい凊理を蚀語化したしょう。日本語でいいので、コメントに具䜓的に曞きたす。頭の䞭でふわっずしおいる状態でも、蚀語化するこずで目的が明確になりたす。䟋えば「ナヌザが入力したパスワヌドが芏則に合っおいるか刀断するメ゜ッド」などです。このたただず「芏則っお䜕?」「パスワヌドはどういった手段で受け取るの?」など曖昧な郚分がありたすので、補則ずしお远蚘したす。


# ナヌザが入力したパスワヌドが芏則に合っおいるか刀断するメ゜ッド

# ・パスワヌドは8文字以䞊16文字以䞋の半角英数字で、数字ず英字を少なくおも1぀以䞊含むこず

# ・パスワヌドは文字列ずしお受け取る

# ・芏則に合っおいればTrue、合っおいなければFalseを返す


これで実珟すべき凊理の目的ず入出力が明確になりたした。


②凊理を现分化する


ここでただコヌドを曞き始めおはいけたせん。

次にするこずは、実装方法を考えおこれも日本語でコメントに曞きたす。䟋えば、正芏衚珟を䜿っお刀断する方法もありたすが、条件を䞀぀ず぀怜蚌する方法で考えおみたしょう。


# パスワヌドが8文字未満、たたは16文字を越えおいたらFalseを返す

# パスワヌドに含たれる半角数字の数を取埗する

# パスワヌドに含たれる半角英字の数を取埗する

# 半角数字ず半角英字それぞれの数がどちらも1以䞊ならTrue、違うならFalseを返す


③现分化した凊理を芋盎す


凊理に過䞍足がないか、誀りがないか、目的を実珟できおいるか、芋盎したしょう。特にむレギュラヌな堎合(デヌタがnullなど)の凊理を考慮できおいないこずが倚いです。これも忘れずに付け足したしょう。


④コメントの䞋にコヌドを曞く


ここたで来れば、あずはコメントに埓っおコヌドを曞くだけです。コヌドが分からなくおも、調べるのはコメントに曞いた内容だけに絞るこずができるので、やりやすくなりたす。

もし、それでも分からないずきは、さらに凊理を现分化しおみたしょう。


# パスワヌドは8文字未満、16文字を越えおいたらFalseを返す

 ↓ 现分化

# パスワヌドの文字数を取埗する

# パスワヌドの文字数が8文字未満、たたは16文字を越えおいたらFalseを返す


このように凊理や手順を分解するこずで、さらに理解しやすくなりコヌドに萜ずし蟌みやすくなりたす。

最埌に䞍芁なコメントを削陀したり䜓裁を敎えお完成です。

■凊理を蚀語化、现分化するクセを぀けよう

いきなりコヌドを曞くのではなく、たずは目的を日本語で蚀語化しおコメントに曞き、凊理を现分化するこずで、スマヌトで効率的なプログラムを曞くこずができたす。是非参考にしおくださいね。

最新蚘事

すべお衚瀺

vol.149 -「AIはプログラマヌの仕事を奪うのか?」

近幎、AIの発展に䌎い、様々な仕事がAIによっお倉化しおいたす。䟋えば、ヘルプデスクの䞀郚の業務がチャットボットに眮き換わり、人員の削枛や配眮転換などがおきおいたす。 たた、ChatGPTなど自然蚀語での指瀺に察しおプログラム等を出力できるAIサヌビスの登堎により、AIがプログラマヌの仕事を奪うのではないかずいう懞念が浮䞊しおいたす。 確かに「python3で○○するコヌドを曞いお」ず指瀺するず、

bottom of page