hsimyu's diary

ゲームなどをします。

1/5-6 本陣痛来ず

1/5 (土)

陣痛来たかも?前駆陣痛かも?な一日。

痛みが強まらないので、まだ前駆陣痛かな〜って感じで、寝た。

ごはん

忘れた

手持ち無沙汰な時にツイッターを見てしまう問題

もしかして、ツイッターより自分が書いたメモをひたすら読み返していく方が楽しいのでは??

更に、一度メモったことを忘れてしまいやすい問題の解決になるのでは?

2019 年のタスクリスト管理

2018年後半から取り組んできた「Notion 手帳のトップに置く」方式だと、以下の欠点があることが分かった。

  • 手帳を書くタイミングしか見ない
    • 「TODO 管理アプリを開いた時しか見ない」よりはマシなので改善はしているものの、頻度が少ないのであまり意味がない。
  • 手帳を書くタイミングしか、やることを更新しない
  • 手帳用のページを新しく作った時に、コピーしていくのがダルい

解決策の案: サラッとメモをする物理手帳と、しっかり記録として残すための電子手帳 (Notion) を用意し、タスク管理は前者で行う

解決策の問題点: サラッとメモをするための物理手帳を、如何にして身から離さず、かつ如何にして簡単に書けるようにするか

変数名による型表現プログラミングを考える

例えば isHoge という変数名であれば bool 型と決める。hogeCount という変数名であれば int 型と決める。のように、変数名が型によって縛られるプログラミング言語を考える。prefix または suffix で組み込み型が表現される。構造体、クラスは suffix として hogeClassName としよう。

利点と思われるもの:

  • リーダブルなコードを書く時の慣習的表現(真偽値なら is 始まりとか)を文法として表現できる
  • 変数名の命名に悩みにくくなる。
    • ある程度具体的な表現が必須になる。 std::vector<Hoge> aaa; とか書けなくなる

欠点と思われるもの:

  • 命名による表現力が、言語の文法の範囲で制限される
    • 「この変数はアドレス値を表現しているが、演算に使用するためポインタ型ではなく int 型で格納する」のような時に、命名が難しくなる気がする。
    • ユーザーが prefix, suffix を拡張できるようにすることも考えられるが、移植性・可読性が低くなりそう
  • 「型名の typo の修正」や「同じ役割の変数だけど、使用する型を変える」ような時に、変更が広範囲に及んでしまう
    • vector を betterVector に置き換える時に、vector を使っていた全ての変数名も betterVector に置換しないといけなくなる
    • とはいえ、現代ではインテリセンスが良しなにやってくれる気がする
  • クラス名、型名の優先順位を決めないといけない
    • isHogeCount はどんな型を表現する? ⇒ bool っぽくみえる
    • isHogeCountList は? ⇒ bool っぽいけど isHogeCount の List の可能性も?
      • bool と決めてしまうと、逆に「isHogeCount の List」というのを表現したい時に、命名規則迂回みたいなことをする必要が出てくる

あんまり面白くなさそうだ。 既にこんなことをやっている実験的言語の例はあったりするかしら。

家財便

ヤマト: Eランク 3辺合計 350cm 以下

佐川:

1/6 (日)

今日も同じく前駆陣痛の様子を見ていた。

明日から始業なのだが、明日は休みをもらうことにして自由席でゆっくり帰ろうと思う。

明日の午前中に陣痛が来たら神調整。

ごはん

朝: もち

昼: おにぎり

夜: 冷たいうどん