👨💼Projelerin Kontrolü
Projelerde yapılacak iş ve rotasyon önceden belirlenir, gidişat kurgulanır.
👨💻 Kaynak Kod Odaklı Proje Yönetimi
Çok kişi ile yapılan projelerde her konuyu birbirimize anlatmak vakit kaybıdır, bu sebeple herkesin sadece kendi işi ile uğraşacağı yapı kurulmalıdır.
Her fonksyionun nereye yazılacağı belirtilmeli ve projenin taslak yapısı kurulmalıdır.
İstenen fonksiyonların taslakları kod içerisine yerleştirilir
Kişi istenen tipte veriler veya gönderdiği veriler gönderir
Göndereceği veriler için açıklayıcı bir dökümantasyon eklemelidir
Yapacağı işlemlerin detaylarını çok fazla anlatmadan istenen veri hakkında bilgi verilmelidir. (Vakit kaynını engeller)
Projenin en üst kısmında değiştirlebilir veriler saklanmalı ve switch yapısı kurulmalıdır.
✨ Proje Oluşturma & Güncelleme Yapısı
Proje yönetimi için git kullanılması çok faydalıdır.
Her yeni ekleme için onu tanımlayan bir branch oluşturulur.
Branch oluşturma işlemi
checkout
komutuyla yapılırOluşturulan her branch
master
branch'indenpull from
komutu ile güncellenir.Güncellenmez ise
merge conflict
hataları meydana gelir ve çok vakit harcar 😢
Tüm işlemler yapıldıktan sonra branch'i uzak sunucuda saklamak adına
pull
komutu kullanılır
Merge Request ile master branch kısmına eklenme talebi oluşturulur.
Yönetici, talebi kontrol edip, onaylayarak projeye katar.
Küresel çalışma adına İngilizce tercih edilmektedir.
Ufak Projeler için Branch (Tam hazır değil)
Bir proje üzerinde herkes kendi adıyla bir branch açabilir.
Büyük Projeler için Branch Prefix (Ön ek)
Büyük projelerdeki temel yapı konu
/ detay veya dosya
şeklinde branch oluşturmaya dayanır.
feature/<detail>
Yeniliklerbugfix/<detail>
Hata çözümlerisf/<detail>
Tasarım değişikleri (Store front-end)
Ardından merge request ile geliştirici (dev) ortamına birleştirme isteği oluşturulur.
Branch Naming Convention (Yazım kuralı)
Camel Case
<prefix>/thisIsExampleDetail
Örnek Kullanım
sf/newBannerRow
feature/excelPhp
🍱 Model View Controller Yapısı
Ek kaynak için buraya tıklayabilirsin.
Temel amaç model ile view katmanını ayırmaktır. Bu sayede tasarımı değiştireceğimiz zaman yapısal kodlarla uğraşmak zorunda kalmayız. (model: back-end view: front-end denebilir)
Model
Veriler ile ilgili işlemler
Veritabanına veri kaydedilmesi ve veritabanından alınması
View
Kullanıcıya görünen kısım
Anasayfa gibi web sayfaları
Controller
Model ile View arası bağlantı
Verinin web sayfasına aktarılması
Yapı düzenleme sırası
Model kısmı düzenlenir.
Controller üzerinde bağlantılar oluşturulur.
View ile kullanıcıya sunulur.
💎 Değişken İsimlendirmeleri
NAME
_PREFİX
Veri tabanı ön eki. Örn: DB_PREFIX, BRANCH_PREFIX
Flag
Checkbox gibi boolean değerleri tutan değişkenlerin adıdır
🌊 Continuous Integration
Her kod için test metotları yazılır
Continuous Integration'a geliştirilmiş halidir
Continuous Delivery'nin gelişmiş halidir
Tüm test metotları farklı sunucuda her commit işleminden sonra gerçekleşir
Projeyi yayınlamaya hazır hale getirir
Proje yayınlanması da otomatik hale gelmiştir
🧙♂ Detaylı bilgi için Continuous integration vs. continuous delivery vs. continuous deployment alanına bakabilirsin.
⚗️ CI Bağlantıları
📋 Tüm CI hizmetlerine Awesome CI üzerinden bakabilirsin
⭐ Faydalı Yazılımlar
Eklentileri ile meşhur olan VsCode
yazılımı tavsiye edilir.
👨💼 Yönetim Uygulamaları & Siteleri
API key gibi gizli bilgilerin projelerdeki varlığını kontrol eder
Proje yönetimi & Yapılacaklar Aşaması & İş aktarımı / eşleme
Takım yönetimi
🌍 Web programlama
Last updated