どうも。ひろです。
アプリ開発や勉強の一環でライブラリを使用すると思いますが、その際ライブラリの公式ドキュメントを読むことがかなり重要になってきます。
公式ドキュメントを読むと以下のことがわかります。
- メソッドの使い方、構成
- メソッドの動作
- デバッグ時のメソッドでのエラー対処法
公式ドキュメントを読む重要性について解説していきます。
公式ドキュメントからサンプルを持ってきて検証する
ブログ記事などで実際にライブラリのメソッドを使用しているコードを流用して活用している方が多いのではないでしょうか?
もちろんその方法も良いと思います!ですがその場合はもしライブラリのエラーとかが出てしまったときにエラーを消す作業に時間がかなりかかってしまいます。
そういったことがないようにドキュメントに使い方のサンプルがあると思うのでそちらを一度使って動作検証をしてみましょう。
サンプルが基本的なことしかしていないというのであれば他の方の記事を参考に応用して活用していくことでバグにつながりにくくなります。
公式ドキュメントにサンプルがないという場合もあると思いますのでその場合はQiitaなどで、できるだけシンプルなサンプルコードを探しましょう。
どのような構成になっているか把握できる
公式ドキュメントにはメソッドの構成がどのようになっているか書かれていることが多いです。
例えばこのメソッドにこの値を渡すと内部で〜の処理がされて戻り値として〜を返しています。のような文言が書かれていると思います。
また使用するときの制限事項なども書かれていることが多いです。
メソッドから内部で違うメソッドを呼び出している場合はドキュメントを見ないと構成がわからないと思います。
僕が見たことがあるメソッドは2つのメソッドを1つにまとめただけのメソッドがありました。
以前は公式ドキュメントなんか読むのは勘弁という思いでしたので、読まずに実際にそのメソッドを使って実装しました。
デバッグで動きを確認しようと思って動作確認をしていたらライブラリのメソッドを使用している処理で止まっていることがわかりました。
結果的に原因は2つのメソッドを1つにまとめていて、2つのうち1つが結果が帰ってくるまで待ち状態というメソッドでどこか違うところで結果を受け取ってしまいずっと止まっているというエラーでした。
このエラーはメソッド1つではなく、細分化した2つのメソッドで実装することで対応できました。
このエラーが解決できたのは公式ドキュメントの使用しているメソッドについての部分を読み込んだから特定できたエラーになります。
公式ドキュメントには2つのメソッドを1つにまとめているということが記載されていて実際に構成されているメソッドについてもリンクが貼られていました。
このようにドキュメントを読むことで複数メソッドからなるメソッドを読み解くことができます。
公式ドキュメントからエラーを解消
原因不明のバグが見つかったらまず動的解析を行うと思います。
動的解析とは実際に動作をさせながらどこの処理が動いているか把握する解析方法です。具体的にはデバッグ機能を使って解析することが多いと思います。
どの処理で不具合が起きているか解析している途中でライブラリを使用した実装部分で止まっていたとしたらそのメソッドの先で何かが起こっているということがわかります。
実際にメソッドの先を辿れるライブラリもあると思いますが辿れないメソッドの場合はどうするのか?
そうです。何回も登場していますが公式ドキュメントを頼りましょう。
まずは公式ドキュメントの使用しているメソッドについて知識をつける必要があります。どのような動きをしてどのような期待値を返すかドキュメントに明確に記載しているはずなので頑張って読み解いていきましょう。
それでもわからないという場合は他の方で同じようなバグが出てる人がいないか検索する必要があります。
初めから同じような現象が起きてる人の記事を見た方が早いとかもしれませんが、その方の記事には解決方法しか書いてなかった場合何が原因でどういったことをしたら解決できるということを認識していないので、
同じような現象が起こったときに対応できなくなってしまいます。
ライブラリのメソッドでバグが発生した場合は初めに公式ドキュメントを読んでみてください。
公式ドキュメントを読むことの重要性のまとめ
ライブラリを使用する際に公式のドキュメントを読む重要性についてのまとめとして以下のようになります。
- シンプルなサンプルがあり検証しやすい
- メソッドの構成を理解できる為、使用するときに懸念事項など考慮することができる
- エラー、バグの解消につながることがある
プログラミング始めたての頃は公式ドキュメントなんて読む気になれん!と思う方も多いかと思います。
僕も実際そうでしたが、公式ドキュメントは情報の宝庫だということがわかり使用するときにどのような値を渡すと期待値としてどのような値が返ってくるべきということを認識した上で使用するようにしています。
そうするとでやってはいけない組み合わせなどがあった場合はドキュメントを読んだ時点で大体把握することができるので結果的にバグが出にくい実装になると思います。
ここまで読んでくださりありがとうございました。
合わせて読みたい記事
2021/4/29
おうち時間を有効に使って充実した生活を送るための説明書
みなさんお久しぶりです。 現在Webエンジニアとして働いています、ひろです。 ここ最近モバイルの技術を見つけたくてFlutterでアプリ開発しております。みなさんは最近新しいことに挑戦できてますか? 突然ですが、みなさんはおうち時間をどのようにお過ごしでしょうか? コロナ禍で在宅での仕事が増えたり、何かとオンラインで物事を進めたりするうちに自宅にいる時間が増えたと思います。そんな中、おうち時間をどのようにして過ごすか悩んでいる方を時々見かけます。 おうち時間について悩みを抱えている方の中には以下のようなも ...
ReadMore
2021/4/21
副業にメリット・デメリットとは?理解を深めて上手に副業しよう!
みなさんお久しぶりです。 現在フルスタックエンジニアとして働いています、ひろです。 最近はマイクロサービスの基盤構築の企画からリリース対応まで担当して少しだけスキルアップしました! さて、最近副業が当たり前になってきていますが、みなさんは副業を行う上でメリットやデメリットを考えて副業をしていますか?この記事では副業のメリット・デメリットについて解説していきたいと思います。 副業のメリット・デメリットと聞くとどのようなことを考えますか? 僕はみなさんの中で以下のような悩みがあると思います。 副業をする上での ...
ReadMore
2021/3/1
副業の始め方を理解して自分にあった副業を始めてみよう!
みなさんお久しぶりです。 現在Webエンジニアとして働いています、ひろです。 今年に入ってアパレルブランドを再度立ち上げました笑 気になる方は以下のこちらから遊びに来てもらえると嬉しいです! 突然ですが、皆さんは副業を初めてみたいと思ったことはありませんか? 副業を始めたいと思っている方の中には以下の悩みがあると思います。 副業の始め方がわからない 本業に時間を取られていて時間がない 確定申告の仕組みがいまいちわからない(別記事で紹介します!) 副業したいと思ってもなかなか手を出せない方もいると思います。 ...
ReadMore
2021/2/6
効率よく時間を使って自由な時間を多く確保する方法とは?
みなさんお久しぶりです。 現在Webエンジニアとして働いています、ひろです。 2020年までは組み込みエンジニアとして活動していましたが、 2021年からは別の企業でWebエンジニアとして活動しています。 突然ですが、皆さんは時間を効率よく使って自分の時間を作っていますか? 時間を効率良く使えなくて困っている方には以下のような悩みがあると思います。 自分のやりたい事に手がまわらない 睡眠時間が十分に取れない 勉強が捗らない この記事を読むことによってこのような事について知ることができます。 効率よく時間を ...
ReadMore
2021/1/3
2021年の目標を発表!皆さんも目標を共有して見ませんか?
あけましておめでとうございます。 今年からWebエンジニアとして働きます、ひろです。 皆さんは1年間の目標は決めましたか? 僕は昨年達成できなかった目標を改良し、更に細分化して具体的に何をするかまで落とし込み目標を立てました。 今回はなぜ目標を共有する必要があるのかを解説し、合わせて僕の今年の目標を共有したいと思います。 その前に初めましての方がいると思いますので簡単に僕について紹介します。 4年制大学 電気電子工学専攻 卒業 卒業後は大手IT企業へ就職 2019/7〜2020/12まで組み込みエンジニア ...
ReadMore
2020/12/28
Web未経験でも転職できるのか?短期間で納得いく転職先の決める方法をご紹介!
どうも。久しぶりの更新になります。 現在組み込みエンジニアとして活動しています、ひろです。 皆さんは現状の仕事に満足していますか? 僕は来年の1月からWeb系エンジニアにジョブチェンジをします。 不満があったわけではないのですが、もっとモダンな開発がしたかったので転職を決めました。 Web系の業務は未経験のため転職活動で苦労するかなと思ったのですが、これから記事にする内容を準備したことで約1ヶ月で終了させることができました。 僕が実際に受けた企業数は7社程度で実際に面接をした企業は4社、最終的に内定を頂い ...
ReadMore
2020/9/27
効率よくプログラミング学習を進める方法をご紹介!
どうも。 ガジェット好き組み込みエンジニアのひろです。 プログラミング初学者の方で以下のような悩みを抱えている方はいませんか? 何をどのように進めていいのかわからない 未経験でプログラミングの勉強を始めたけど効率の良い学習方法がわからない。 オリジナル制作物を作る際の進め方がわからない この記事を読むことによって以下のことについて知ることができます。 プログラミングの勉強の仕方 学習効率の上げ方 オリジナル制作物を作る際の開発効率の上げ方 一番初めに記載しましたが、僕は現役で組み込みエンジニアをしています ...
ReadMore
2020/8/22
駆け出しエンジニアがスキルアップする方法3選ご紹介!
どうも。 ガジェット好き組み込みエンジニアのひろです。 今回の記事では僕がスキルアップするために実施してきたおすすめの方法3つご紹介します。 ご紹介する方法を1年間コツコツやっていた事でコード解析、実装力がある程度ついてきたと思います。 具体的にやってきたことは以下になります。 毎日Qiitaのトレンド記事を読む 隙間時間さえあればGitHubでのコード解析 テック系のニュース記事を読み漁る 簡単に僕の実績をご紹介します。 2019年の4月に新卒でIT企業に入社 プログラミング経験はあったが、3回程挫折 ...
ReadMore
2020/8/16
上手にスイッチをオンに切り替える5つの方法 これで仕事もプライベートも充実間違えなし!
どうも。ガジェット好き組み込みエンジニアのひろです。 皆さんはオンとオフの切り替えはしっかりと出来ているでしょうか? オンとオフの切り替えができていないとダラダラ仕事をやってしまうことになります。 この記事ではオンとオフの切り替える5つの方法をご紹介します。 今回は以下について記事にします。 時間を区切ってオン・オフをはっきりさせる。 どうしてもスイッチが入らない時は気分転換する 寝る前か起きてすぐタスク出しを行う 仕事後にプライベートの予定を入れておく 夜いろいろ考えてしまう場合は日記を書く 目次1 仕 ...
ReadMore
2020/6/18
作業の手戻りを少なくするコツを掴んで多くの作業時間を確保する方法
どうも。ガジェット好き組み込みエンジニアのひろです。 皆さんは作業などをしている時に手戻りは発生してますか? 僕はよく現場で手戻りが発生して時間を無駄にしてしまっています。 ですが、ある事をやりはじめたことによって無駄な時間を減らす事ができました。 この記事を読むことで得られることは以下になります。 手戻りの時間を減らす方法 自分の行動を意識的に分析できる 無駄な時間が減ることで自由な時間を増やせる 目次1 無駄な時間とは?1.1 無駄な時間をできるだけなくすにはどうすれば良い?2 手戻りを ...
ReadMore