👨💼 Projelerin Kontrolü
👨💻 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
checkoutkomutuyla yapılır - Oluşturulan her branch
masterbranch'indenpull fromkomutu ile güncellenir.- Güncellenmez ise
merge conflicthataları meydana gelir ve çok vakit harcar 😢
- Güncellenmez ise
- Tüm işlemler yapıldıktan sonra branch'i uzak sunucuda saklamak adına
pullkomutu kullanılır
- Branch oluşturma işlemi
- 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)
| Yapı Ögesi | Özet | Örnek |
|---|---|---|
| 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
| İsim | Açıklama |
|---|---|
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 |
📦 Faydalı Yazılımlar
Eklentileri ile meşhur olan VsCode yazılımı tavsiye edilir.
👨💼 Yönetim Uygulamaları & Siteleri
| Uygulama İsmi | Açıklama |
|---|---|
| Github & Gitlab | Kaynak kod yöneticisi |
| GitGuardian | API key gibi gizli bilgilerin projelerdeki varlığını kontrol eder |
| Asana | Proje yönetimi & Yapılacaklar Aşaması & İş aktarımı / eşleme |
| Slack | Takım yönetimi |
🌍 Web programlama
| Uygulama İsmi | Açıklama | |
|---|---|---|
| Git | Kaynak kod yönetimi | |
| PhpStorm | Çok fonksiyonel PHP IDE | |
| Xammpp | Php için sunucu, veri tabanı vs. işlemleri sunan platform | |
| Nodejs | Javascript kodlarını makine koduna çevir. Js'i sunucuda kullanma | |
| MySQL | Veri tabanı yönetimi | |
| Composer | Php paket yönetimi (NPM) |