[rust] New Type Patternを使ってみる
DDDの考えを取り入れることでテストコードや抽象化が一段と捗った気がします。 この部分にあまり力を入れてこなかったので新たにテスト用にinsta、抽象化に向けてnutypeを追加しました。 instaは所謂スナップショッ…
DDDの考えを取り入れることでテストコードや抽象化が一段と捗った気がします。 この部分にあまり力を入れてこなかったので新たにテスト用にinsta、抽象化に向けてnutypeを追加しました。 instaは所謂スナップショッ…
DDDの考えを取り入れることでテストコードが書きやすくなりました。 以前はほとんどテストコードを書いてなかったので気づかなかったのですが、コマンドラインで と実行すると、rustは基本的にプロジェクトフォルダ下の全てのテ…
前回SOLID原則というものを整理してみました。もう少しデザインに落とすには各構成を考える必要があります。 ドメイン駆動設計(DDD)という考え方があると知り、サラリと表面上を読んでヘキサゴナルアーキテクチャがとっつきや…
binllionを作っていて1つのstructが大きくなりすぎたり、テストが書きづらくて全く書いてなかったりとイケテナイ感がでてきていました。 なにか解決方法はないかと調べてみるとSOLID原則というものがあることを知り…
ここままでエディターとしての最低限の機能は実装できたと思います。 一旦これで機能追加は止めてコードの改善を行いたいと思います。 Rustではリンターとしてclippyが使えます。 clippyを実行することでコードを静的…
インポートとくればエクスポートです。 インポートと違い、エクスポートはファイルの書き込み失敗のおそれがあるのでエラー処理が必要です。 Rustでファイルに書き出す処理はオプションがいくつかあるようで、それについて調べるた…
データの編集機能の開発も終えたのでファイルからインポート(読み込み)を行えるようにしてみたいと思います。 インポートするファイルの指定方法はコマンドの引数で指定するようにしたいと思います。 引数の処理は何度か使用したcl…
上書き、挿入、とくれば削除も必要でしょう。削除機能を追加しましょう。 まずはキー入力の処理から。 KeyCode::Deleteのマッチパターンを追加しています。 カーソルの位置のデータを削除すればよいのですが、最後尾の…