見出し画像

Pythonがちょっとだけ好きになった??

こんちは、まんじゅうです。
今回は、業務でNext.jsの作業よりもPythonが若干多くなって
感触が変わった感じがしたので振り返りのためにも記事を書いてみようかと

じゃあ、いこうか。



インデント構文が見づらい問題

これに関して、僕は以前ブチギレていました。
例えば・・・

def generate_hoge():
    hogehoge = "~~"
    hoge = "++++"
    
    if not os.path.exists(src_path):
        print("ファイルが見つかりません")
    else:
        print("ファイルが見つかりました")
 
 
def delete_hoge():
    hoge = "----"
etc...

みたいな感じでコードを書いてくときに
if文の中身がどんどん増えていったらカッコが無いせいで
「どこからどこまでが範囲内なのかわからんやんけ!」
とブチギレ案件だったのですが、
この問題は
ある程度コメントをぶち込んで無理やりわかりやすくする
VSCodeの機能で色づけて貰ってわかりやすくする
慣れる
という感じの3つのポイントで強引に解決されました。

というか、僕の短気でめんどくさがり屋な部分が発動すると
Pythonとか関係なくReactの方触ってても
「どこが関数の終わりじゃボケェ!?わからんわ!」
ってなってたのであまり変わらないことに気づいてしまいました。

まぁ、慣れるってでかいね。本当に。
他の言語でもそうだったのか記憶が定かでは無いんだけど
結局のところ、その言語のコードを読む速度が早くなる理由の大部分は
慣れるってのがとても大きいと思うよ。

あと、コメントをクソ大量につけるのもおすすめかも。
とは言っても考えなしにつけるんじゃなくて、
「他の人からしたらこのコメントくどいだろ」って思うような
コメントも書くことで、自分が今何をしているかが明確になって
作業しやすくなると思う。

慣れたらいらないんだと思うけど、慣れるまでの時間を格段に
短縮できるんじゃないかなって思ったからやってみることを
おすすめしてみる。

モジュール便利

前から言っているけど、モジュールの便利さに鼻血吹いて発狂レベルで
便利でした。さすが今一番流行っているモダンな言語だけある。

ファイルのコピーだとか、ブラウザをヘッドレスモードで起動して
フォームに入力して送信までを自動でやるとか画像にフィルタをかけて
加工するだとかもうなんでもできる。
一応ゲームも作れるだろうしね。流石にC++とかのガチゲーム作る時に
使われる言語と比べるとあんましな部分もあるだろうけど、
実行速度がほぼ同じぐらいの速さのJavaでマイクラが作られていると
考えると工夫次第でいい線行くんじゃないかな?
ぶっちゃけると、C++でDirectX12使ったりUnrealEngine5とか使ったほうが
クォリティは青天井だと思うけど。

自分でいじるにあたってめんどくさかったから、Poetryっていう
Pythonのパッケージマネージャーを使用して
モジュールのインストールとかをしてるんだけど自分で管理しなくても
ちゃんと適したモジュールを引っ張ってきてくれるのが便利だね。
気になったら自分で調べてみてほしいけど。

とにかく、自分のしたいことに集中できるイマドキな言語って感じがする。
C++でもパッケージマネージャ自体は調べたらあるっぽいから
専門学校時代とかに入れてたら便利になったのかね?
VisualStudio2019で開発しててCUI全く触らなかったから
多分無理だった気がするけどorz

番外編:Github Copilotくん優秀すぎ

会社がプランに入っているので僕も無制限で使えるGithubCopilotくんですが
だいぶ優秀です。

たまにおせっかいに感じるときもありますが、
僕がしたいことをこの言語で書いてほしいって要求すると
ある程度書いてくれるし、コード書いてる途中で予測補完でほとんど
思っている通りのコードを出力するか訪ねてくれたり

エラーで困っているときに、
「このエラーはどういう意味?」とか「エラーの解決方法を教えて」って
聞いたりするとどんなエラーか教えてくれたり解決手段を出力してくれたり
まぁ、多機能で便利。

ただ、便利だからといって全部任せるわけには行かないから
少し前から言われていたような、AIがプログラマーの仕事を奪うってのは
若干違うと思うなぁと今更ながら思ってたり、なかったり。

まぁ、便利だから機会があればお金払ってでも使ってみる価値はあると
僕は考えます。ただ、注意点としてGithub上にリポジトリの少ないコード
だったりすると解決手段とかを提案してくれなくなるかも?なので
そこのところは注意がいるかも。

また、AIが生成したコードをコピペして動かないときがあるから
解決能力自体は超重要項目の1つと考えて使ったほうがいいかも。

あくまで道具の範疇であり、どうするのかは自分で判断すると
このクソ便利なツールを有効に使えるんじゃないかな。


と、いうわけでPythonの話とちょっとした番外編でした。
今日はだいぶ眠たいのと仕事中の疲れた頭で執筆しているので
支離滅裂な文章になってる(いつもだろ)かもしれないのでご了承を。

以前の僕とくらべると、毛嫌いしていたPythonくんへの意識が
ここまでやわらかなものになったのでだいぶ改善されたのかなぁと。

仕事で触っているのがDjangoってフレームワークだけど、
フレームワーク的な機能は全然触ってなくて、
素のPythonにモジュールくっつけてなんとかやってるみたいな状態なので
家でDjangoの環境作って勉強するのもいいかもしれない。

ただ、問題があるとすればNext.js14のほうが使っていて
面白いってところかな。

まあそんなところで、今回はここまでに使用しようかな。
また何かあったら記事を書こうと思うので
コメントやフォローなどしてくれたら嬉しいです。

じゃあ、またね。


この記事が気に入ったらサポートをしてみませんか?