Kod biçimlendirme önemlidir. Girinti bile önemlidir . Tutarlılık küçük iyileştirmelerden daha önemlidir. Ancak, projeler genellikle 1. günden itibaren açık, eksiksiz, doğrulanabilir ve uygulamalı bir stil kılavuzuna sahip değildir ve önemli gelişmeler her gün gelebilir. Belki onu bulursun
SELECT id, name, address
FROM persons JOIN addresses ON persons.id = addresses.person_id;
daha iyi yazılmış olabilir
SELECT persons.id,
persons.name,
addresses.address
FROM persons
JOIN addresses ON persons.id = addresses.person_id;
sorguya daha fazla sütun eklemeye çalışırken. Belki de bu, kodunuzdaki dört sorgunun en karmaşık olanı veya binlerce arasında önemsiz bir sorgu. Geçiş ne kadar zor olursa olsun, buna değer olduğuna siz karar verin. Ancak , büyük biçimlendirme değişikliklerinde kod değişikliklerini nasıl izlersiniz? Sadece pes edip "tekrar başladığımız nokta budur" diyebilir ya da tüm depo tarihindeki tüm sorguları yeniden biçimlendirebilirsiniz.
Git gibi dağıtılmış bir sürüm kontrol sistemi kullanıyorsanız, şimdiye kadarki ilk taahhüdünüze geri dönebilir ve oradan o anki duruma dönüştürebilirsiniz. Fakat bu çok fazla iş ve devam ederken herkesin işi duraklatması (ya da her birleşmenin anası için hazır olması) gerekir. Tüm sonuçları en iyi şekilde veren geçmişi değiştirmenin daha iyi bir yolu var mı :
- Tüm taahhütlerde aynı stil
- Minimum birleştirme işi
?
Açıklığa kavuşturmak için bu, projeye başlarken en iyi uygulamalarla ilgili değil, daha çok büyük bir yeniden düzenlemenin Good Thing ™ olarak kabul edilmesine rağmen ne yapılması gerektiğine rağmen ne yapılmalı? Sürümlerinizin her zaman aynı şekilde çalışmasını sağlamak için tek yol buysa, geçmişi asla yeniden yazmak mükemmel değildir, peki ya temiz bir yeniden yazmanın geliştirici faydaları ne olacak? Özellikle, yeniden yazılan sürümün tam olarak aynı şekilde çalışmasını sağlamak için yöntemleriniz (testler, sözdizimi tanımları veya derlemeden sonra aynı bir ikili dosya) varsa?