タグがメチャクチャなので不要なタグは削除して欲しいですが。
色々調べては見たのですが、アウトプットを進める記事が多いものの、具体的にどのようにアウトプットするのが良いか分かりませんでした。
具体的なアウトプット学習法をお教えて頂けないでしょうか?
当たり前のことですが、そもそものインプットが十分でないと、アウトプットは不可能です。
例にあるTODOアプリを作ろうとした場合そのTODOアプリを構成する要素(WEBなのかデスクトップアプリなのかモバイル向けアプリなのか、データの保存は何を使ってどういう形式にするのか)を検討した上で、インプット済みのどの技術を使ってどのように実現するのかが想像できないと、アウトプットはできません。
想像ができていれば、具体的なプログラムの仕様(管理すべき対象、表示の方法、ユーザーがどのように操作するのか)を起こせます。小さいものならちゃんとした文章じゃなくて頭の中だけでも良いですし、ノートに走り書き程度でも構いませんが、仕様が決まらないとそもそも作り始める事ができません。
作るものが決まったら、それをより細かい機能ごとに分割して詳細を詰める等して、初めてコードを書き始めます。コードを書く際には、どうせ同じロジックになるのなら、別に写経(というかコピペ)でも何でも構いません。ただし、そのコードの動作は自分が十分理解している必要はあります。
そこまでできるなら、例えばテスト仕様を起こしてみたりして品質を向上させたり、実際に使ってみて機能拡張するにはどうしたら良いか、と考えれば良いと思います。
最初から拡張性を考えておくのはベターですが、学習段階では失敗も経験しておくことは重要なので、最初からアレコレ迷うぐらいなら、失敗を恐れずまずは作ってみてから考えれば良いでしょう。