Ana Sayfa / BT Modülü 1

Yazılım Geliştirme & GitHub

Bilişim Teknolojileri Departmanı'nın günlük işleyişi: geliştirme ortamın, Git ile sürüm yönetimi, GitHub üzerinde ekip çalışması ve bir işin talepten canlıya uzanan yolculuğu. Kavramlar yazılı, GitHub akışı videolu anlatılıyor.

0%

1. Makinen Hazır mı?

Yazılı Anlatım

İlk günlerdeki hedefin, kod yazmaya hazır bir makineye sahip olmak: araçlar kurulu, depolara erişim açık, ana proje yerelde çalışıyor. Aşağıdaki tablo başlangıç için beklenen araç setini gösterir.

KategoriAraçNot
IDE / EditörVisual Studio Code + proje eklentileriMentorun proje özelindeki eklentileri gösterir
Sürüm kontrolüGit + GitHubDepo erişimi yetkiyle açılır; her iş branch + PR ile ilerler
Programlama dilleriJavaScript/TypeScript, SQL ve projeye göre .NETİlk hedef dili ezberlemek değil, projeyi çalıştırmaktır
Veritabanı araçlarıSSMS veya DBeaverYalnızca geliştirme/test veritabanlarına bağlan
API testPostman veya benzeri API istemcisiOrtak koleksiyonları mentorundan iste
İş takibiGitHub Issues, Azure DevOps veya JiraGörev, açıklama, durum ve test notları burada tutulur
AI araçlarıŞirketin onayladığı AI asistanlarıBkz. AI Araçları modülü

Ortam kavramları

Kod, canlıya çıkana kadar birden fazla ortamdan geçer. Bu ayrımı ilk günden öğren:

İlk günden kural Geliştirme yaparken asla canlı veritabanına bağlanma ve gerçek müşteri/bayi verisiyle test etme. Test için maskelenmiş veya sentetik veri kullanılır — bkz. KVKK konusu.
İlk hafta hedefi Ana projeyi klonla, README'deki adımlarla yerelde ayağa kaldır ve küçük bir değişikliği çalışır halde gör. Takıldığın her adımı not et — o notlar README'yi iyileştirmek için birinci sınıf malzemedir ve ilk katkın (pull request'in) bu iyileştirme olabilir.

2. Git: Kodun Zaman Makinesi

Yazılı Anlatım

Git, kodun tüm değişiklik tarihini tutan sürüm kontrol sistemidir. "Dün çalışıyordu"nun kanıtı, yanlışlıkla silinenin sigortası ve ekipçe aynı kod üzerinde çakışmadan çalışmanın altyapısıdır. Okulda kullandıysan bile, ekip içinde kullanımın kendine özgü disiplinleri var.

Temel kavramlar

KavramAnlamı
Repository (repo)Projenin kod deposu — kodun ve tüm geçmişinin bulunduğu yer
CommitYaptığın değişikliğin anlamlı bir mesajla kaydedilmiş "fotoğrafı"
Branch (dal)Ana koddan ayrılan çalışma kopyası; işini burada yaparsın
MergeBir daldaki değişikliklerin başka dala birleştirilmesi
Pull / PushUzak depodan güncellemeleri alma / kendi commit'lerini gönderme
Conflict (çakışma)İki kişinin aynı satırı değiştirmesi; elle çözülür, panik gerektirmez

Günlük döngün

  1. git pull — güne ana dalın son haliyle başla.
  2. git checkout -b feature/is-adi — işin için yeni dal aç.
  3. Kodla; mantıklı adımlarda git add + git commit yap.
  4. git push — dalını GitHub'a gönder ve pull request aç (sonraki konu).

İyi commit mesajı

Commit mesajı, altı ay sonra o değişikliğe bakacak kişiye (muhtemelen sana) yazılmış nottur. "düzeltme", "son hali", "asdf" mesaj değildir. İyi mesaj ne değiştiğini ve nedenini söyler: "Bayi sipariş listesinde tarih filtresinin saat dilimi hatası giderildi".

Küçük commit, sık commit Bir günde tek dev commit yerine, her mantıklı adımda küçük commit yap. Hata arandığında hangi değişikliğin sorun çıkardığını bulmak dakikalar sürer; dev commit'te saatler.

3. PR Kültürü: GitHub'da Ekip İşi

Video + Özet

Kodumuz şirketin GitHub organizasyonunda barınır ve tüm ekip çalışması pull request (PR) akışı üzerinden yürür. Bu akış ekranda görerek en hızlı öğrenilen konu olduğu için videolu anlatılıyor: dal açmaktan PR açmaya, review yorumlarına cevap vermekten merge'e kadar örnek bir akış.

Akışın özeti

  1. Issue/görev al: Her iş bir kayıtla başlar; hangi işi neden yaptığın her zaman izlenebilir olmalı.
  2. Dal aç: Ana daldan (main) feature/… veya fix/… önekiyle dal açılır. Ana dala doğrudan push kapalıdır.
  3. Pull request aç: İş bitince PR açılır; açıklamaya ne yaptığını, neden yaptığını ve nasıl test ettiğini yaz.
  4. Code review: En az bir ekip arkadaşının onayı gerekir. Yorumlar koda yapılır, kişiye değil — savunmaya geçme, öğren ve düzelt.
  5. Merge & temizlik: Onaylanan PR ana dala birleştirilir, dal silinir; değişiklik test ortamına otomatik/elle dağıtılır.

Code review kültürümüz

Depoya asla girmeyecekler Parolalar, API anahtarları, bağlantı dizeleri (connection string) ve müşteri verileri asla commit'lenmez — "sonra silerim" işe yaramaz, Git geçmişi hatırlar. Gizli değerler için ekipteki standart yöntemi (ör. ortam değişkenleri, secret yönetimi) mentorundan öğren. Yanlışlıkla bir gizli değer push ettiysen hemen bildir: değer değiştirilir, geçmiş temizlenir.

4. Talepten Canlıya

Yazılı Anlatım

Kod yazmak sürecin sadece bir halkası. Bir işin talepten canlıya yolculuğu şöyle işler temel akış şöyledir:

  1. Talep ve analizİş birimlerinden gelen ihtiyaç kayda alınır, geliştirme yöneticisi ve analistlerle netleştirilir: ne isteniyor, neden, kimin için?
  2. Planlamaİş; sprint planında önceliklendirilir, tahminlenir ve bir geliştiriciye atanır.
  3. GeliştirmeDal aç → kodla → test yaz → commit'le. Takıldığında 15 dakika kuralı burada da geçerli.
  4. Review ve testPR + code review; ardından test/staging ortamında doğrulama. Gerekirse iş birimi de burada onay verir.
  5. Canlıya çıkış (deploy)Onaylı değişiklik planlı pencerede canlıya alınır; çıkış sonrası izlenir. Sorun çıkarsa geri alma (rollback) planı hazırdır.

Yeni başlayan biri olarak senden beklenenler

Neden bu kadar süreç? Değer zincirini hatırla: yazdığın kod, binlerce bayinin sipariş verdiği sistemlerde koşuyor. Süreç bürokrasi değil; o ölçekte hata yapmamanın sigortasıdır.
← ÖncekiOrtak Modül 2: Genel Oryantasyon