この記事について

当方iOSエンジニアですが、
これから述べる言動はしないようにしよう という思いでメモします。

タイトルにはなりたくないと書いたものの、正確には

  • 「こんなエンジニアと一緒に仕事したくない」
  • 「こんなエンジニアのソース引き継ぎたくない」

という思いのほうが本音です。

先にいうと、 そのエンジニアが、そのアプリを運営終了まで看取るなら どんな設定しても良いんです。

ただ、 かっこつけて、最新のソリューションを取り入れてかき回したあげく 「辞めるわ!」 じゃ後継の人が苦労するんですよね。 すぐ辞める人に限って、かっこつける。

・絶対storyboard使わないマン

Interface Builderファイル(storyboard)は使い方に一癖ありますが、 やっぱり見やすいし、UIがひと目で分かりやすいんです。 この画面はこのstoryboardだなと。

ただ、 「俺はコード派、snapKitで音速開発だ!」って言って作られて、 そのコードを引き継いだ場合、何がどこにあるのか全然分からない。

snapKitで開発すると、 微修正のたびにいちいちビルドして画面を見て、微修正して、ビルドして、、 となるんですが、それは自分が使いこなせてないだけなんでしょうか。

PlayGroundと合わせての開発であれば、使用理由はまだ分かりますけども。

・CocoaPodsじゃなく、絶対Carthage使うマン

「Carthage早いし、CocoaPods使うとかありえない!」 って人いましたが。

CocoaPods形式でしか配布していない、ライブラリあったらどうするんだろう。 Carthage形式に変換できたりするのかな。ちょっと調べたんですが、分かりませんでした。 結局そのプロジェクトは両方使ってました。 だったら、CocoaPodsオンリーでもいいと思うんですが。

両者の実行速度の違いってどれくらいなんでしょ!? あと、最近CocoaPodsでもビルド済みバイナリ使えるようですね。

・絶対コメント残さないマン

「コメントとか要らない、変数名で分かるようにする」 とかいう人に限って、ものすごく分かりにくい命名だったり、すごく長い変数名だったり。 「コメント書くと、その後その部分を修正した時に書いているコメントが、嘘になるじゃん」とかあったけど、 いやいや、コメントも修正するんだよ!と。

・絶対RxSwift使うマン

Textfieldなどで使われる簡単なDataBindingは、ものすごく便利だと思うんですよね。 使いやすいし、分かりやすい。

ただ、Observableの使いまくってるとなると、途端に難易度・敷居・学習コストが高くなるんですよね。

私含めた、年配の方は結構知らないとか使ったことないという人が多いようで(今までいくつかの案件に携わってきて)。 まぁ、知らないその人がダメなんじゃん。ってのもあるんですが。。。

普通のDelegateでも良いと思うんですよね。 あと、MVVMの役割がおざなりになっていて、作った人が残念だったのかな。

・絶対Objective-c使わないマン

swiftかObjective-cかって言われたら、絶対にswiftなんですが。 古くからのObjective-cで書かれたアプリで、 MVCのViewだけ修正したいって時、わざわざそこだけswift化した方がいたんですよね。 どうかなぁと。。snapKit使いたかったみたいですが。

・こんなことをわざわざ書いてる俺みないなヤツ

こんなツラツラ書いてる自分こそ、 他の人からしたら、一緒にやりたくないだろうな。

ただ、 フリーランスとしてスポットで入って

いきなり改修してくれで、分かりにくいコードだったら そりゃ苦労しますし、ストレス溜まります。 最初に述べた通り、自分が最後まで面倒見るんだったら何してもいい。