Page up▲

古代のプログラマー

夜も深まって参りました。

さりとて作業中です。

今週はいよいよ極まっております。


仕事が上手く出来れば、
もしかしたら徹夜なんかしなくて済むのでしょうけど、
普段の3倍の仕事量ですからそうも言ってられない状況でもあります。

そこはもう泣いても笑ってもそうなんで、
通常の三倍でやってみせましょう。
睡眠削るしか無いですけど。

さて、今回久しぶりにガッツりVB.NETでお仕事なんですが、
(最近はWEB系のプログラムが多かったので。)
元々、プログラム技術のまともな教育をうけていた訳ではないので、
技術レベルは会社勤めの頃に闇雲に覚えた技量だけ。

そんな太古の技術を後生大事に抱え込んでいる訳ですから、
最近のVBプログラミングの進歩に舌を巻いている訳です。

(以下、ちょっと専門的な話なので追記へ。)

例えば、ファイルパス一つ処理をするのでも、
古代のプログラマのNaotenは、
ファイルパスの末尾に\があるかどうか、
以下のような式を書いて調べてました。


Dim strPath as String

strPath = Application.StartupPath
If Microsoft.VisualBasic.Right(strPath, 1) <> "\" Then
strPath &= "\"
End if

strPath &= "Hogehoge.exe"



最初の行でアプリケーションパスを取得して、
古の秘術、Right関数で
末尾が\かどうか調べて、\じゃなかったら\を連結して、
んで、最後の行で特定のファイル名を連結。

古すぎんだろこれ!?っと流石に怯えだして
色々調べてみると、
昨今はEndsWithなんてメソッドが用意されてるんだとか。

早速書き直しましたよ。


Dim strPath as String

strPath = Application.StartupPath
If Not strPath.EndsWith("\") Then
strPath &= "\"
End if

strPath &= "Hogehoge.exe"




あ、大人になってる。

大人になってる


ってな訳ですよ。
タラオ、髪型ファンキー過ぎだろう、って訳ですよ。


ところがところが、
これでもなんか気持ち悪いなぁっと思っていたら、
さらに次があったのですよ。
System.IO名前空間にあるPathクラスに色々と。

うわ、やだ、ナニコレー!
未来じゃんコレー!

っと古代のプログラマーは唸る訳ですよ。
泥臭さから脱却できんじゃね?
ってな訳ですよ。

結果。



Dim strPath as String

strPath = Path.Combine(Application.StartupPath, "Hogehoge.exe")




ここまで来ちゃったらもう、これでもか!ですよ。
(宣言と同時の初期化はあまり好きじゃないのですが。)

Dim strPath as String = Path.Combine(Application.StartupPath, "Hogehoge.exe")




こんな事が、往々にして至る所で起きてしまってるわけです。
んでコード直すでしょ。

そのたびに思うんです。

ああ、おいら、古代のプログラマーだなぁって、しみじみと。

組織にいて、先輩や他のプログラマーの技術を見て、
なんか知らず知らずに技量が上がっていたりすることが、
昔はあったんです。

でも今の環境ではそう言う受動的な成長は無いわけで、
ちょっとでも勉強することを止めたら、
どんどんどんどん古めかしい、
地球の重力に魂を奪われた人間になってしまうんです。

おまけに現場では「動けば良い」って言う風潮もあるのでね。
最初のコードでも、動けば、まあ、良いって言えば良いんです。
それが成長を止めてしまう遠因でもあるんですけども。



私もニュータイプのはずだ…。


そう呟いて、その可能性を信じて、
オールドタイプなNaotenは、
そそくさとお仕事に戻るのでありました。


Page up▲

LOGO1

Post a Comment

comments

Page up▲

Post a Commentpac

Private message

Page up▲

Designed by mi104c.
Copyright © 2020 直天堂のカステラ, all rights reserved.
07 | 2020/08 | 09

sun

mon

tue

wed

thu

fri

sat

- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

Page up▲

  • 最新記事のRSS
  • 最新コメントのRSS
  • 最新トラックバックのRSS