設計
設計に関するナレッジやノウハウ。
設計ナレッジ
雑多なメモ
トピックにまとめられそうになったらまとめます。
- API越しでタイムスタンプをやりとりする時のフォーマットをどうするべきか - その手の平は尻もつかめるさ
- 文字列型で RFC 3339 (ISO 8601) のみ扱えるようにすると、バリデータの作り込みが問題になる
- Unix Time を使えば UTC であることが担保できる。時間の単位を
_sec
や_ms
といったフィールド名で示せば良い double
型 (小数) のフィールドなら単位は sec (秒) で、細かい精度を小数で示せば良い、と表明できるかも (JS 界隈では浮動小数点の誤差が出るのであまり扱いたくないが…)
- コンテクストメニューの役割 (agenda)
- コンテクストメニューは、ポイントされているオブジェクト、または位置に関する操作を行う為のメニューに絞るべき
- 「何故コンテクストメニューなのか」を全く考えないまま、直感的に便利だからという理由でコンテクストメニューに機能を詰め込んでいると思われるアドオンが多すぎ。「ポイントしなくても良い操作なら、コンテクストメニューにしてはならない」くらいの制約をまず課して考えてほしい
- 0.1秒:ユーザは、自分がシステムを「直接」操作していると感じる。
1秒:ユーザの思考を止めない限界。反応に時間がかかっていることに気づき、システムの存在を意識する。
10秒:ユーザが操作に集中できる限界。待っている間に何らかの形で処理の途中であることを伝えないと、容易に他のことに興味が移る(離脱する)。
つまり、Webサイトの反応速度(ページの表示速度)は、理想は0.1秒、可能な限り1秒以内に収めるべきで、それ以上ユーザを待たせると離脱が増えるばかり、ということが言えるでしょう - システムエラー出たとき、何種類かのネコのgif画像をエラー内容に合わせて表示するようにしたんだけど、
問い合わせが基本「猫ちゃんが出てきた」になったし
猫ちゃん見てるからクレームの温度感も温くなったし
こっちもとりあえず「画面にどんな猫ちゃん出てますか?」って聞けばいいし楽 - Excelのサポートを10年間やってきた経験から最も頻出の助言は「データベースファーストの原則」であり、この原則には「1セル1データの原則」「1列1データ型の原則」「セル結合禁止の原則」の3つが含まれる
- 要件定義~システム設計ができる人材になれる記事 - Qiita
- 多い日も安心設計 - Qiita
- 工数見積もりは日数×10時間でいいんじゃないかな - Qiita
- 似て非なる文字の扱い方、名寄せについて考慮すべきこと … 入力チェック、自動統一変換をどの程度行うか
- 似て非なる「ハイフン」文字をどう扱うか
- 似て非なる「スペース」文字の扱い方。プログラミング (実装工程) でも注意が必要