一度にすべてを頭に入れておくことができないほど複雑なプロジェクトに取り組み始めるときはいつでも、アプリがどのように機能するかを概説するのが好きです...私は通常、テキストエディタで次のようなものをハックします:
# Program is run
# check to see if database exists
# create database
# complain on error, exit
# ensure database is writable
# complain to user, exit
# check to see if we have stored user credentials
# present dialog asking for credentials
# verify credentials and reshow dialog if they're invalid
# show currently stored data
# start up background thread to check for new data
# update displayed data if new data becomes available
# ...
#
# Background service
# Every 15min update data from server
# Every 24 hours do a full sync w/ server
など(注:これはコメントされているため、コードにコメントとして含めているためではなく、SOは解析しません)。
私が疑問に思っているのは、皆さんがこれをどのように行うかです。プログラムの流れを概説するためのツールはありますか? 複雑なプロジェクトをどのように説明すれば、コードを書く段階になったときに、細かい部分の設計やアーキテクチャーではなく、コードに集中できるようになりますか?