Kendi Hesaplayıcısıyla Çelişen Örnekli Hesaplama

Ev geliştirme maliyet hesaplayıcılarının bulunduğu bir web sitesi yönetiyorum.

Her sayfa aynı maliyeti dört farklı yerde gösteriyor:

Bir hata buldum. Yazılı bir örnekte bir projenin maliyetinin 62.300 $ olduğu belirtiliyordu. Hesaplayıcı widget'ı ise aynı projenin maliyetinin 56.779 $ olduğunu söylüyordu.

Aradaki fark 5.500 $ idi.

Hata, sayıları elle yazdığım için meydana geldi. Metin için kullandığım varsayımlar ile kod için kullandıklarım farklıydı. Metin, yeni bir HVAC ünitesi varsayımı üzerine kuruluydu. Kod ise mevcut bir sistemi varsayıyordu. Her ikisi de geçerliydi ancak birbirleriyle uyuşmuyorlardı.

Bu yaygın bir hatadır. Aynı bilgiyi iki farklı yerde sakladığınızda, bu bilgiler birbirinden uzaklaşır.

Bunu iki kural ile düzelttim.

Kural 1: Kaynak odaklı mantık.

Hesaplayıcı fonksiyonu, bir sayının doğduğu tek yerdir. Artık tablolara veya paragraflara elle sayı yazmıyorum. Bunun yerine, tabloları ve örnekleri derleme zamanında (build time) oluşturmak için fonksiyonu kullanıyorum.

Fonksiyon değişirse, tüm sayfa değişir. Tablo ve widget her zaman birbiriyle uyumlu olacaktır çünkü aynı mantığı kullanırlar.

Kural 2: Kaynak bilgisi ekleyin.

Bir sayı, ancak nereden geldiğini biliyorsanız yararlıdır. Artık her hesaplama şunları içeriyor:

Maliyet verisi kalıcı bir gerçek değildir. Geçici bir gerçektir. Bir inceleme tarihi eklemek, veriler yanlış hale gelmeden önce onları güncellemem gerektiğini bana hatırlatıyor.

Tek bir doğruluk kaynağı (single source of truth) sizi tutarlı kılar. Kaynak bilgisi eklemek ise sizi dürüst kılar.

Aynı sayıyı iki yerde gösteriyorsanız, onu tekrar yazmayın. İçe aktarın. Tekrar eden kısımları yönetmeyi derleme sürecinize bırakın.

Kaynak: https://dev.to/mark_b5f4ffdd8e7cd58/the-worked-example-that-disagreed-with-its-own-calculator-4cp9