Help us understand the problem. What is going on with this article?

プログラミング初めて○ヶ月間でやってしまった忘れられない失敗TOP3

More than 1 year has passed since last update.

ユアマイスターアドベントカレンダー2018 の24日目の記事です。

はじめに

街では光輝くイルミネーションが街を照らし、家族や恋人、友達と一緒にケーキを食べながらイエス・キリストの誕生を祝うクリスマスの前日になりました。去年は友人と一緒に美味しい肉を食べた記憶があります(笑)。
そんなクリスマスイブに今年やってしまった失敗談を記事にしたいとおもいました。今思えば、笑えてくる失敗もあるので、ぜひ読んで頂ければ嬉しいです。

本題

人は失敗する生き物です。僕は一度も失敗したことないと言う人を聞いたことありません。失敗は成功の母ということわざがあるように人は失敗を重ねながら経験を積み、成長していきます。そして、経験が浅ければ浅いほど失敗することが多いのは当然のことです。また、僕は人よりも間違えることが多く、失敗する人間だと思っています。そんな僕が記憶に残る失敗談を書いていきます。

プログラミング初心者の時にやってしまった失敗 3選

ネットのサンプルコードを丸コピーで実装してしまった

ある時に先輩エンジニアから30分で電話番号のバリデーションを実装できるかと聞かれ、「できます!」と聞かれた僕はグーグル先生に電話番号 バリデーションというキーワードで検索しました。

見つけたサンプルコードがこちら

電話番号バリデーション.php
function validateTel($tel)
{
    return preg_match('/\A\d{2,4}+-\d{2,4}+-\d{4}\z/', $tel);
}

このコードでレビューに出したら、レビュー開始3秒でコピペコードだろうと怒られてしまいましたww
たしかに当時改めて、コードを読んでみるとpreg_match正規表現も全然わかりませんでした。動いたからできた気でいたんです。(非常に危ない考え)
現在は書いたコードの責任は自分であること、一字一句を口に出して説明できることを常に心がけています。

複数のタスクチケット進めるときにチケットごとにブランチを作らず、一つのブランチで進めてしまった

弊社ではソースコードのバージョン管理にGitを利用しています。
細かいタスクで修正内容が簡単だったので、それぞれのタスクごとにブランチを作成せず一つのブランチで作業してしまいました。

  • どの差分がどのタスクなのかがわからない
  • 分割してマージできない

よくないパターン
Image from iOS (2).jpg

いいパターン
Image from iOS (1).jpg

今考えるとあたり前のことですが、ブランチを分割する目的を理解していればこのようなことは起きなかったと思いますが、その目的を知らずに使っていたことがよくなかったですね。

クロームのデベロッパーツールに頼りすぎた自分

弊社はあなたのマイスターというWebサービスを提供しています。パソコン、スマホとそれぞれの画面が存在します。
Chromeに限らず、ブラウザにはリクエスト、レスポンスの情報やスマホ画面のエミュレータなどの機能を備えているデバックツールがあります。コードを書きながらブラウザのデバックツールで動作確認をしているんですが、実際の実機ではうまく動作しないことは多々ありますよね?それだけではなく、ブラウザによっても動作しないこともあります。実装していて、JavaScriptに苦労したことが忘れられないのでいくつか紹介します。(失敗というよりハマったことですね。)

jQueryでdata属性の値を変更して取得したときに値が変更されなかった

jQuery.data()で値を書き換えても書き換える前の値が取れる現象がありました。原因として、jQueryがdata属性をキャッシュするという仕組みだったからです。そのためネイティブJSで変更して、この問題は無事に解決できました。

参考:https://w3g.jp/blog/jquery-data-attr-cache

Date型か戻り値がブラウザによってバラバラであること

new Dateの戻り値がブラウザによって異なることがありました。dateのフォーマットがブラウザに依存しており、それぞれのブラウザで差がでるみたいです。

参考:https://qiita.com/unbabel/items/12487e85525ba1ec1618

まとめ

誰しもが忘れられない失敗談をいくつか持っていると思います。そして、ミスや失敗することはやっぱり恥ずかしいです。

失敗することを恐れてできないことから避けることがいつの間にか癖になってしまいます。自分もできないこと=やりたくないことと自分の中で勝手に定義して失敗することから避けてきたので、成長ができず同じような日々を過ごしていました。
自分の中で成長することは楽しいであると思うので、成長し続けることで人生が楽しくなると思います。そして、成長はできないことをできるようになることでできないことに対してチャレンジし続けることが必須でチャレンジには失敗が伴うので、失敗を恐れずにチャレンジし続けたいと思います。

yourmystar
サービス産業のIT化プラットフォーム「ユアマイスター」と大切なものをもっと大切にするメディア「ユアマイスター スタイル」を運営するスタートアップです。
http://corp.yourmystar.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした