आप स्वाद के लिए यूनिट टेस्ट नहीं कर सकते

“स्वाद” की प्रकृति और क्या इसे टेस्ट किया जा सकता है

  • कई लोग तर्क देते हैं कि आप स्वाद के लिए पूरी तरह यूनिट टेस्ट नहीं कर सकते क्योंकि:
    • स्वाद spec का वह हिस्सा है जिसे आप भूल गए थे या जिसे आप स्पष्ट रूप से कह नहीं सकते।
    • नियमों के लिए अपवाद चाहिए, और उन अपवादों के लिए संदर्भगत निर्णय चाहिए; जो बचता है वही “स्वाद” है।
    • आप केवल एक छोटा, नियम-जैसा हिस्सा बाहरी रूप से व्यक्त कर सकते हैं; बाकी निहित ही रहता है।
  • दूसरे लोग जवाब देते हैं कि कुछ हिस्से कोड किए जा सकते हैं:
    • Pairwise “hot or not” तुलना ML scoring functions को प्रशिक्षित कर सकती हैं।
    • Style guides, pattern languages, और UI guidelines कुछ साझा मानक पकड़ते हैं।
    • Linters और scripts conventions (नामकरण, brand colors, layer boundaries) लागू कर सकते हैं।

AI, LLMs, और व्यक्तिगत/संगठनात्मक स्वाद

  • LLMs को शक्तिशाली बताया गया है, लेकिन वे “smart new hire” स्तर पर अटके हुए हैं:
    • स्थायी, व्यक्तिगत long-term memory नहीं।
    • RL / feedback सामान्य शैली की ओर औसत कर देता है, किसी एक व्यक्ति के स्वाद की ओर नहीं।
    • मॉडल अक्सर आत्मविश्वास के साथ लेकिन बेस्वाद या जोखिम भरे निर्णय लेते हैं, जब तक उन्हें कड़ाई से govern न किया जाए।
  • सुझाए गए दृष्टिकोण:
    • हर व्यक्ति/टीम के लिए अलग preference models प्रशिक्षित करें; जहाँ वे असहमत हों वहाँ fail करें।
    • Agents के साथ human “gates” या validation tickets का उपयोग करें, काम बंद करने से पहले।
    • LLMs को junior devs मानें; decisions को ADRs/docs में encode करें और उन्हें उनका पालन करने दें।

Testing philosophy और TDD की सीमाएँ

  • Tests को ऐसा माना जाता है कि वे चीज़ों को “गलत नहीं” होने देते हैं, न कि उन्हें “अच्छा” या tasteful बनाते हैं।
  • भारी TDD और low-level unit tests की आलोचना की जाती है:
    • Correctness आसानी से compose नहीं होती; higher levels पर emergent behavior दिखाई देता है।
    • Over-mocking और 100% coverage targets confidence कम करते हैं और बदलाव धीमा करते हैं।
  • दूसरे लोग उपयुक्त abstraction levels पर और bugs के लिए TDD का बचाव करते हैं।
  • Graphics/UI के लिए snapshot tests और visual regression सुझाए जाते हैं, लेकिन वे “feels right” को नहीं पकड़ते।

UX, visuals, और “feel”

  • कई लोग नोट करते हैं कि AI-generated UIs/images अक्सर सस्ते या अटपटे लगते हैं।
  • कुछ लोग सोचते हैं कि neural nets पर्याप्त labeled examples मिलने पर “tacky” जैसी qualities पहचान सकते हैं।
  • Tools objective aspects (colors, layout consistency) टेस्ट कर सकते हैं, लेकिन subjective UX friction के लिए अभी भी humans चाहिए।

Intuition, anthropomorphism, और pragmatism

  • मानव intuition (जैसे structural failure को महसूस करना) को स्वाद जैसा बताया गया है: अनुभव-आधारित, लेकिन encode करना कठिन।
  • AI collaborators के साथ “we” का प्रयोग subtle anthropomorphizing की चिंता उठाता है।
  • कई आवाज़ें “good enough” को स्वीकार करने, AI को support tool की तरह उपयोग करने, और final taste तथा governance humans के पास रखने की वकालत करती हैं।