ULOC (Unique Lines of Code), scc adlı kod sayma aracında bulunan ve projelerin karmaşıklığını daha doğru ölçmeyi hedefleyen bir metriktir. Yazar, Google Scholar'da scc kullanımını araştırırken, araştırmacıların genellikle projelerin boyutunu ölçmek için bu aracı kullandığını, ancak ULOC gibi daha gelişmiş özelliklerini göz ardı ettiğini fark etmiştir. ULOC, geleneksel SLOC (Source Lines of Code) ölçümünden farklı olarak, boş satırları, kapanış parantezlerini ve yaygın include'lar gibi tekrarlayan "boilerplate" kodları hesaba katmaz. Ancak, kodun bakımı kadar önemli olan yorum satırlarını sayar ve her dosyada bulunan lisans başlıkları gibi şişkinlik yaratan unsurları dışarıda bırakır. Bu sayede, bir projenin gerçek karmaşıklığına daha yakın bir tahmin sunar.
Yazarın temel amacı, farklı programlama dillerindeki "boilerplate" kod miktarını objektif olarak karşılaştırmaktır. Örneğin, Go dilinin Rust'a göre daha fazla tekrarlayan kod içerdiği bilinse de, bu farkın nicel olarak ne kadar olduğunu belirlemek istemiştir. Bu doğrultuda, binlerce değil ama en azından yüzlerce depoyu analiz etme ihtiyacı doğmuştur. Çözüm olarak, farklı diller için en iyi 100 depoyu listeleyen EvanLi/Github-Ranking adlı GitHub deposunu kullanmaya karar vermiştir. Bu depo, dillerine göre gruplandırılmış projeler sunduğu için analiz için ideal bir kaynak olmuştur.
Verileri işlemek ve GitHub depolarının URL'lerini çıkarmak için yazar, Google Gemini'dan basit bir Python betiği oluşturmasını istemiştir. Bu betik, EvanLi/Github-Ranking deposundaki .md uzantılı markdown dosyalarını tarayarak, her bir dilin en iyi depolarının URL'lerini ayrıştırmak üzere tasarlanmıştır. Bu sayede, scc aracını kullanarak ULOC değerlerini hesaplamak ve diller arası "boilerplate" yoğunluğunu karşılaştırmak için gerekli veri setini oluşturmayı amaçlamıştır. Bu çalışma, programlama dillerinin verimliliği ve kod yoğunluğu üzerine önemli çıkarımlar sunabilir.
Bu çalışma, programlama dillerinin verimliliği ve kod yoğunluğu üzerine önemli çıkarımlar sunarak geliştiricilerin dil seçimlerini ve proje yönetimini etkileyebilir.