GWEB: Go dili için edebi programlama aracı
(github.com/sjnam)GWEB, Go dili için bir edebi programlama (Literate Programming) sistemidir. Donald Knuth'un CWEB yapısını yakından model alarak geliştirilmiştir.
Geliştiriciler, tek bir .w kaynak dosyasında TeX belgelerini (açıklamalar) ve Go kodunu birlikte yazar. Bu dosya, makine ve insan için iki farklı çıktıya dönüştürülür.
Temel araçlar ve özellikler
GWEB sistemi büyük ölçüde iki temel komutla çalışır.
- gtangle: Belge açıklamalarını hariç tutup yalnızca Go kod bölümlerini toplayarak derlenebilir bir
.godosyası üretir. Çıktı otomatik olarakgofmtstiline göre biçimlendirilir. - gweave: İnsanların rahatça okuyabileceği, güzel dizgilenmiş bir belge (
.tex➡️ PDF) üretir. Anahtar kelimeler kalın, tanımlayıcılar italik gösterilir ve çapraz başvuru dizini otomatik oluşturulur.
Başlıca özellikler ve avantajlar
- Sezgisel format:
//lineyönergesini yerleşik olarak destekler; böylece derleme hatası veya panic oluştuğunda.godosyası yerine özgün.wdosyasındaki satır konumunu doğru şekilde gösterir. - Kendini barındıran sistem: GWEB'in kendisi de edebi programlama yaklaşımıyla geliştirilmiştir.
lit/klasörü içindeki.wdosyaları, GWEB'in gerçek kaynak asıllarıdır. - Editör desteği: VS Code, Vim ve Emacs kullanıcıları için sözdizimi vurgulama ayarları da sunar.
GWEB ile karmaşık Go projelerinin tasarım niyetini ve algoritmalarını, sanki bir kitap yazıyormuş gibi zarif biçimde kaydedip yönetebilirsiniz.
Henüz yorum yok.