<div class="chatlog__message-group">
  <div id="chatlog__message-container-1311982316108779562" class="chatlog__message-container" data-message-id="1311982316108779562">
    <div class="chatlog__message">
      <div class="chatlog__message-aside"><img class="chatlog__avatar" src="https://cdn.discordapp.com/avatars/387843027072188417/47c96b35135f39a117c2d3e88950c7ab.png?size=512" alt="Avatar" loading="lazy"></div>
      <div class="chatlog__message-primary">
        <div class="chatlog__header"><span class="chatlog__author" style="color:rgb(241,196,15)" title="kuniwak" data-user-id="387843027072188417">Kuniwak</span> <a href="/channels/375206337937801216?category=main&amp;channel=swift-zatsu&amp;message_id=1311982941794074686"><span class="chatlog__timestamp" title="Friday, November 29, 2024 9:09 AM"></span></a><a href="#chatlog__message-container-1311982316108779562">11/29/2024 9:09 AM</a></div>
        <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve">遅レスですけど struct の stored prop に let 使うか var 使うか議論、私の意見は: <ul>
              <li>その stored prop を型エラーにならない範囲でどんな値を入れても健全性条件を満たすならば var にする</li>
              <li>それ以外は let にする</li>
            </ul> です。私はかなり後者の方法を使うので体感としては let の方が多い印象です。なお niw さんも omochi さんも健全性条件(あるいはクラス不変条件)という言葉を使っていませんが、ここではちゃんと健全性条件って言ったほうがいいと思います。 蛇足ですが、静的型を唯一の健全性条件を守らせる方法だと思う方はたくさんいるとおもいます(過去の自分もそうでした)。実際には健全性条件検査の方法として静的型検査はかなり粗く弱いです。動的検査(init? や private init + static func で validation した後で private init 叩くやつ)で健全性条件を検査すると静的型検査よりかなり強く検査できるのでおすすめです(このスタイルになると struct でも let が多くなります)。例えば Email アドレス型やユーザー名型とかを考えたとして、これを静的型検査で健全性条件を検査するのは無理ゲーです。ですが動的検査なら簡単にできます。</span> <span class="chatlog__edited-timestamp" title="Friday, November 29, 2024 10:45 AM">(edited)</span></div>
        <div class="chatlog__reactions">
          <div class="chatlog__reaction" title="eyes"><img class="chatlog__emoji chatlog__emoji--small" alt="👀" src="https://cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/svg/1f440.svg" loading="lazy"> <span class="chatlog__reaction-count">1</span></div>
        </div>
      </div>
    </div>
  </div>
  <div id="chatlog__message-container-1311982941794074686" class="chatlog__message-container" data-message-id="1311982941794074686">
    <div class="chatlog__message">
      <div class="chatlog__message-aside">
        <div class="chatlog__short-timestamp" title="Friday, November 29, 2024 9:11 AM">9:11 AM</div>
      </div>
      <div class="chatlog__message-primary">
        <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve">バリデーションの数だけ健全性条件があります。普段から健全性条件を意識してプログラミングすることが品質の高いプログラムを作成する上で重要だと考えています。</span></div>
      </div>
    </div>
  </div>
</div>