JavaScript で関数単位で細かく実行確認をしながら開発するには
はじめに
会社の先輩からいただいたアドバイスがとても参考になったので、簡単に記事にまとめたいと思います。
状況
JavaScript のテストフレームワークをまだ導入できていないアプリを開発していました。
RSpec の model spec のように、関数単位で動作を確認するということはしておらず、画面確認で複数の関数が動作していることを確認していく、という方法をとっていました。
テストフレームワークを導入をするという選択肢もあるとは思うのですが、当時は機能開発を優先する状況だったので、導入していない状況でどうスムーズに開発していくかを考えていくというところでした。
tl;dr
そんな中会社の先輩とペアプロしたときに、いただいたアドバイスは以下でした。
- 試したい処理を関数に切り出す
- その関数に
window.
をつけてグローバルから参照できるようにする - デベロッパーコンソールからその関数を実行しつつ修正していく
- 開発が終わったら
window.
を外す
進め方
試したい処理を関数に切り出す
まず、開発中の機能を関数に切り出します。
const sampleFunction = () => {
return 'sample function'
}
関数に window.
をつけてグローバルから参照できるように
次に、開発している関数をグローバルから参照できるようにします。これにより、ブラウザ上で関数を参照できるようになります。
window.sampleFunction = () => {
return 'sample function'
}
デベロッパーコンソールからその関数を実行しつつ修正していく
その後、ブラウザのデベロッパーコンソール上で該当の関数を実行して確認します。ここで想定と違う動作をしている場合などは、debugger
をつけてデバッグすることもできると思います。
開発が終わったらwindow.
を外す
window.
がついている状態ですと、いつでも該当の関数を実行できる状態になってしまいます。
開発が終わったら、忘れずにその関数をグローバルに定義した状態から元の状態に戻しましょう。
const sampleFunction = () => {
return 'sample function'
}
おわりに
方法としてはとても簡単なのですが、自分としてはとても JavaScript の開発がしやすくなりました。
テストフレームワークを使うのが本来あるべきではあると思いますが、今回それが無くても、開発単位を小さくして、開発・確認のサイクルを高速に回す考え方は適用できる、ということを改めて実感しました。
今後 JavaScript の開発でなくても同じ状況に直面したときは、開発・確認を細かくしていく方法を調べて実践できればと思いました。
アドバイスをくださった @mat_aki さんありがとうございました!
Author And Source
この問題について(JavaScript で関数単位で細かく実行確認をしながら開発するには), 我々は、より多くの情報をここで見つけました https://qiita.com/gotchane/items/44d0161425aa9813b89d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .