Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
uupaa edited this pageMay 30, 2017 ·83 revisions

WebModule は JavaScript で部品を作るための金型であり、巨大な建造物を安全に建築する方法を示した工法(フォーマット)です。
環境に応じてダイナミックに変化する部分(コードやフォーマット)に重きを置かず、より抽象的でソリッドな部分(エンジニアリングの哲学)を軸足としたマイクロフレームワークでもあります。

哲学が存在しない世界では何が起きたか。何が起きているか

あなたは、そびえ立つ九龍城のように、継ぎ足し継ぎ足しが繰り返され、「もう一体どこから手を付けたら…」「なぜ動いているのか不思議」 なコードの山と対峙し、途方に暮れた事はありませんか?

そして「テストは無い」「自動テストはないが人力テストはある」「人力なのでテストに丸々3日かかる。そしてコツが要る」 と言われたり、「設計? ありませんよ? コードがドキュメントです、だってドキュメントをメンテするの大変じゃないですか。JavaDoc のような物で十分ですよ」 と言い訳をする人が居たり、上司から「前任者は飛んだので、引き継ぎなしで頑張ってくれ。大丈夫、君ならできる」「訳あってコードはほぼフリーズ状態だ。必要最小限の修正にとどめてくれ。リファクタリングは許可できない」 と言われたり、または、これらと似たような状況に遭遇し、ただただ虚無感に包まれた事はありませんか?

この手の問題は実はとてもありふれています。あなたがエンジニアの高みを目指すのであれば、正面からこれに取り組み、解決すべき課題と言えるでしょう。

WebModule が提供するもの

WebModule は、

  • JavaScript や AltJS で書かれており
  • Mobile Web Application 向けに最適化された
  • シンプルで
  • テストがあり
  • どこでも動作し
  • 品質が数値化され
  • 仕様と実装が分離した
  • 良質のドキュメントがある

そんな部品群を量産するための、新しいフォーマット(開発フロー, 関連ツール)を提供します。

まずは、WebModule のスライド概要 をご覧ください。

WebModule をベースとしたモジュールを開発する具体的な流れについてはワークフロー考え方 を、WebModuleで書かれたモジュールの一覧はModuleList を参照してください。

WebModule の目的

WebModule の目的はモジュールをロードする機能を提供したり、モジュールローダーが読み込めるようなコードの書き方をレクチャーするといったものではありません。

WebModule はモジュール作成後のライフサイクルも含めた保守と品質管理、コンテンツ作成のためのワークフローを大きく前進させる確かなソリューション、JavaScript の開発に有用と思われるパターンイディオムを提供することです。

WebModule とチーム開発

チームで開発を行う際は、チームメンバーそれぞれが作業を進めるためのルールとフォーマットの存在を意識する事が大切です。フォーマットも何もない状態から開発を進めようとしても、各自の意識のすれ違いに時間と体力を消耗してしまい、目的に集中する体制を整える前に恐らく疲れてしまいます。

モジュールを単位とした機能分割が必要です。
モジュールを開発の基本的な単位と位置付ける事で、チームメンバーによる並行開発と、API Specを契約としたテストが可能になります。

  • モジュールに適切な粒度に分割する
  • API Spec を先に決める ⇨ API(契約)に基づいた並列開発が可能になる
  • 作成したモジュールの再利用が可能になる

さらに、

  • コードの品質を評価する方法がある ⇨ 正しく安全なコードが残る
  • 必要な範囲を自動でテストできる ⇨ コストを掛けずに品質を担保できる
  • 簡単にデプロイできる。どこでも動く事が保証されている ⇨ 安全にデプロイできる

これらはチームで開発を進めるためには必須となる考え方です。

取り入れてみてください

これまで1〜3人規模でシステムを開発してきた方には、上で述べたような事は異文化であり、最初から全てを飲み込むのは難しいと思います。しかし、これらは複数人で開発をする上では避けて通れません。

WebModule は様々なエッセンスでできています。最初から全てを飲み込むのではなく、部分的に採用できそうな部分がありましたら、ぜひ貴方のプロジェクトにも取り入れてみてください。

Clone this wiki locally

[8]ページ先頭

©2009-2025 Movatter.jp