Tüm alanlarda aramak için en az 2 karakter yazın.
Yazılım İngilizcesi: 1.143 Temel Terim ve Anlamları
Yazılım İngilizcesi sözlüğündeki 1.000 terim; programlamadan veritabanlarına, web ve mobil geliştirmeden bulut, güvenlik ve veri işlemeye uzanır. Her terimin Türkçe karşılığını, anlamını, işte nerelerde kullanıldığını ve çevirili örnek cümlelerini inceleyerek teknik belgeleri ve ekip konuşmalarını daha rahat takip edebilirsiniz.
- 1.143 terim
- 13 konu
- 430 temel terim
- 2.298 örnek cümle
Veri Yapıları ve Algoritmalar
Küme üyeliğini az yerle sınayan yapı. Olmayan öğeye var diyebilir; doğru kullanılan standart biçimi eklenmiş öğeleri yok saymaz.
Çakışmayan grupları izleyen, bir öğenin grubunu bulmayı ve grupları verimli biçimde birleştirmeyi sağlayan yapı.
Tek tek işlemlerin maliyeti çok değişse bile işlem başına maliyet bulmak için bir işlem dizisinin toplam maliyetini inceleme.
Sıralama anahtarları eşit olan öğelerin başlangıçtaki göreli sırasını koruyan sıralama yöntemi.
Birbirinden farklı iki girdinin aynı özet değerini üretmesi durumu.
Okuma veya yazma konumu sona ulaştığında başa dönen, kapasitesi sabit tampon.
Sürüm Kontrolü
Bir daldaki kod değişikliklerinin başka bir dala birleştirilmesi için açılan ve önce ekip arkadaşlarının incelemesine sunulan istek.
Depodaki değişikliklerin, neyin neden değiştiğini açıklayan kısa bir mesajla birlikte kaydedilmiş anlık görüntüsü. Fiil olarak da kullanılır: değişiklikleri commit etmek.
Depoda ayrı bir geliştirme hattı; birleştirmeye hazır olana kadar ana kodu etkilemeden değişiklikler üzerinde çalışmanızı sağlar.
Bir daldaki değişiklikleri başka bir dala aktararak iki çalışmanın aynı kodda buluşmasını sağlamak.
Bir projenin kodunu ve değişiklik geçmişinin tamamını tutan, genellikle Git ile yönetilen ve çoğu zaman çevrim içi barındırılan depolama alanı.
Yerel commit'lerinizi paylaşılan uzak depoya göndermek; böylece diğer kişiler ve otomatik sistemler bunları görebilir.
İki dal da aynı satırları değiştirdiği için Git'in onları otomatik olarak birleştiremediği ve doğru sürümü bir kişinin seçmesi gereken durum.
Git'te çalışma dosyalarınızı belirli bir dala veya commit'e geçirmek; böylece kodun o sürümünü görebilir ya da üzerinde çalışabilirsiniz.
Uzak bir deponun geçmişiyle birlikte tam kopyasını, üzerinde çalışabilmek için kendi bilgisayarınıza indirmek.
Git'te dalınızdaki commit'leri daha yeni bir noktadan, genellikle main'in en güncel halinden başlayacak şekilde taşımak; böylece daha temiz, düz bir geçmiş elde edilir.
Dosyalarda zaman içinde yapılan her değişikliği kaydeden sistem. Ekibin aynı kod üzerinde çalışmasını, kimin neyi değiştirdiğini görmesini ve gerektiğinde eski sürümlere dönmesini sağlar.
En yaygın kullanılan sürüm kontrol sistemi; koddaki değişiklikleri takip eden ve birçok geliştiricinin aynı proje üzerinde çalışmasını sağlayan ücretsiz, açık kaynak araç.
Uzak depodaki en son değişiklikleri indirip yerel kopyanıza birleştirmek; böylece kodunuz ekibin koduyla güncel kalır.
Kodun iki sürümü arasında hangi satırların eklendiğini, silindiğini veya değiştiğini, genellikle yeşil ve kırmızı renklerle tam olarak gösteren görünüm ya da dosya.
Bir commit'in neyi ve neden değiştirdiğini anlatan kısa metin. Ekip arkadaşları kodun geçmişini anlamak için daha sonra bu mesajları okur.
Deponun kodun resmi ve güncel sürümünü tutan merkezi dalı. Diğer dallar bundan oluşturulur ve sonunda yeniden buna birleştirilir.
Tek bir özellik ya da düzeltme üzerinde çalışmak için açılan ayrı dal; böylece iş ana dalı etkilemeden geliştirilip incelenebilir.
Bir değişikliği, tam tersini yapan yeni bir commit oluşturarak geri almak; böylece önceki duruma dönülür ama geçmiş korunur.
Başka birine ait bir depoyu GitHub gibi bir platformda kendi hesabınıza kopyalamak; böylece onu özgürce değiştirebilir ve daha sonra değişikliklerinizi asıl projeye önerebilirsiniz.
Git'te yarım kalmış değişikliklerinizi geçici bir yere kaydedip çalışma kopyanızı temizlemek; böylece başka bir işe geçip değişiklikleri sonra geri getirebilirsiniz.
Git'te bir daldaki belirli bir commit'i, dalın tamamını birleştirmeden başka bir dala kopyalamak. Genel İngilizcede yalnızca en iyi ya da en işe yarar parçaları seçip almak.
Her katkıcının kişisel bir çatal kopyada çalışıp sonra değişikliklerini ana depoya gönderdiği Git iş birliği modelidir.
Git'te, dal geçmişini yeniden yazarken commit'leri yeniden sıralamaya, birleştirmeye, düzenlemeye ya da çıkarmaya izin veren rebase kipidir.
Git tarafından üç yönlü birleştirme hesabında kullanılan, iki commit için en uygun ortak ata olan commit kaydıdır.
Git'te, hedef dal ayrımdan sonra kendine özgü yeni işlem kayıtları içermiyorsa, dal işaretçisini yalnızca ileri taşıyan birleştirme türüdür.
Birden fazla commit'i tek bir commit'te toplamak demektir. Bu işlem genelde birleştirme ya da inceleme öncesi dal geçmişini daha düzenli yapmak için uygulanır.
HEAD'in bir dal adına değil, doğrudan bir commit'e işaret ettiği çalışma kopyası durumu.
HEAD'in veya bir dalın geçmişte hangi commit'e işaret ettiği gibi referans değişikliklerini tutan yerel geçmiş.
Depodaki yalnızca seçilmiş yolları çalışma ağacına alan, diğer yolları çalışma ağacının dışında bırakan düzen.
Kaynağındaki tüm commit geçmişi yerine geçmişin sınırlı bir bölümünü içeren depo kopyası.
İki tarafta yapılan değişiklikleri belirleyip birleştirmek için iki sürümü ortak atalarıyla karşılaştıran birleştirme.
Sıralı revizyon dizisinde orta noktaları test edip kalan aralığı tekrar tekrar daraltarak bir değişikliği bulmak.
Kod İnceleme ve Kod Kalitesi
Kod değişikliklerinin birleştirilmeden önce ekip arkadaşları tarafından okunup yorumlanması; hem hataları yakalamaya hem de bilgi paylaşımına yarar.
Mevcut kodun kullanıcıya yaptığı işi değiştirmeden yapısını iyileştirmek; kodu daha temiz ve değiştirilmesi daha kolay hale getirmek.
Bugün kodda yapılan kestirmelerin gelecekteki bedeli: şimdi zaman kazandıran ama sonraki değişiklikleri yavaşlatıp riskli hale getiren hızlı çözümler.
'Looks good to me' (bana uygun görünüyor) kısaltması: incelemeyi yapan kişinin, kod değişikliğinin uygun olduğunu ve birleştirilebileceğini belirtmek için bıraktığı kısa yazılı yorum.
İncelemede isimlendirme, boşluk veya ifade gibi ayrıntılara dair, değişikliği engellememesi gereken çok küçük ve isteğe bağlı yorum. Kısaca 'nit' denir.
Size yapılan yorumları ele almak; istenen değişiklikleri yapmak ya da neden farklı bir yol seçtiğinizi açıklamak.
Kodu çalıştırmadan tarayıp stil sorunları, şüpheli kalıplar ve kullanılmayan değişkenler gibi basit hatalar hakkında uyarı veren araç.
Ayarlardan, veritabanından veya kullanıcı girdisinden gelmek yerine doğrudan kaynak kodun içine yazılmış; bu yüzden kod değiştirilmeden değiştirilemez.
Kod çalışsa bile daha derin bir tasarım sorununa işaret eden belirti; çok uzun bir fonksiyon, tekrarlanan mantık ya da fazla sayıda parametre gibi.
Başka birinin kod değişikliklerini, genellikle bir pull request üzerinden, birleştirilmeden önce okuyup kontrol eden ekip arkadaşı.
Bir değişikliğin, planın ya da talebin uygun olduğunu resmi olarak belirtmek. Kod incelemesinde bir pull request'i onaylamak, onun birleştirilmesine izin verir.
Açık isimlendirme, sade bir yapı ve kısa fonksiyonlar sayesinde başka birinin kolayca okuyup hızlıca anlayabildiği.
Deneyimli kişilerin en iyi sonucu verdiği konusunda büyük ölçüde hemfikir olduğu çalışma biçimi; test yazmak, kod incelemesi yapmak ve parolaları asla düz metin olarak saklamamak gibi.
Yalnızca çalışan değil; sade, açık isimlendirilmiş, iyi düzenlenmiş, başkalarının kolayca okuyup test edebileceği ve değiştirebileceği kod.
Kodu ilk yazan kişi olmasalar bile başka geliştiricilerin de uzun süre boyunca kolayca anlayabildiği, düzeltebildiği ve geliştirebildiği.
Değişkenler, dosyalar ve dallar gibi koddaki öğelerin nasıl adlandırılacağına dair üzerinde anlaşılmış kurallar; böylece isimler proje genelinde tutarlı görünür.
Hiç çalışmayan ya da sonucu hiçbir yerde kullanılmayan kod; örneğin artık kimsenin çağırmadığı eski bir fonksiyon. Kod tabanını yalnızca daha zor okunur hale getirir.
'Don't Repeat Yourself' (Kendini Tekrar Etme) ifadesinin kısaltması; her bilgi ya da mantık parçasının kodda kopyalanarak dağılmaması, tek bir yerde bulunması gerektiğini söyleyen ilke.
İnceleme sırasında kodun, metnin ya da bir değişikliğin belirli bölümünü sorgulayan, öneri sunan veya açıklayan nottur.
Kodun tutarlı kalması için biçim, yapı, adlandırma ve benzeri uygulamaları belirleyen ortak kurallar bütünüdür.
Aynı kaynak, araçlar ve girdiler kullanıldığında her seferinde aynı çıktıyı üreten derleme sürecidir.
Programın kontrol akışındaki bağımsız yolların sayısına dayanan kod ölçüsü.
Ana mantık çalışmadan önce özel bir durumda işlevden veya bloktan erken çıkış sağlayan kontrol.
Tek bir kavramsal değişikliğin kod tabanının farklı yerlerinde çok sayıda küçük düzenleme gerektirdiği kod kokusu.
Bir metodun başka bir nesnenin verisine yoğun biçimde dayanması ve sorumluluğunun yanlış yerde olabileceğini düşündürmesi.
Olası hataları bulmak veya programın özelliklerini denetlemek için kodu çalıştırmadan inceleme.
Yazılım Testi
Tek bir fonksiyonu veya sınıfı veritabanından, ağdan ve sistemin geri kalanından bağımsız olarak kontrol eden küçük otomatik test.
Belirli girdiler, adımlar ve beklenen sonuçla kontrol edilen tek bir durum; örneğin 'yanlış şifreyle giriş yapılınca hata mesajı gösterilir'.
Programın beklediği sınırların ucundaki olağandışı durum; örneğin boş bir liste, çok uzun bir isim ya da 29 Şubat gibi bir tarih.
Quality assurance (kalite güvencesi) kısaltması: yazılımın gereksinimleri karşıladığını ve düzgün çalıştığını kontrol etme işi. Bu işi yapan kişiler veya ekip için de kullanılır.
Daha önce çalışan bir şeyin bir değişiklikten sonra bozulması; örneğin yeni bir özelliğin eski bir işlevi bozması.
Sistemin birden fazla parçasının birlikte nasıl çalıştığını kontrol eden test; örneğin kodunuzun gerçek bir veritabanı ya da başka bir servisle birlikte çalışması.
Kodun ne kadarının otomatik testler tarafından çalıştırıldığını gösteren, çoğunlukla yüzde olarak ifade edilen ölçüm. Hangi bölümlerin test edildiğini, hangilerinin edilmediğini gösterir.
Testlerde gerçek bir nesnenin ya da servisin yerine kullanılan sahte sürüm; davranışını kontrol etmenizi ve kodunuzun onu nasıl kullandığını doğrulamanızı sağlar. Fiil olarak da kullanılır: bir servisi mock'lamak.
Gerçek sistem üzerinde bir kullanıcının izleyeceği yolu baştan sona çalıştıran test; örneğin siteyi açmak, giriş yapmak ve sipariş vermek. Her şeyin birlikte çalıştığını kontrol eder.
Kodda hiçbir değişiklik olmadan bazen geçip bazen başarısız olan test için kullanılır; genellikle zamanlama, ağ veya paylaşılan veri kaynaklıdır.
Birlikte çalıştırılan testlerin bütünü; örneğin bir projenin tüm birim testleri ya da ödeme modülüne ait bütün testler.
Yazılımın otomatik çalışan test betikleri yerine bir kişi tarafından ekranlar gezilerek ve işlemler denenerek elle kontrol edilmesi.
Testlerin kod ve araçlarla otomatik olarak çalıştırılması ve sonuçların beklenenle karşılaştırılması; böylece testler her değişiklikten sonra hızla tekrarlanabilir.
Bir testte sonucun beklenen değerle eşleşip eşleşmediğini kontrol eden satır. Kontrol yanlış çıkarsa test başarısız olur.
Daha kapsamlı testlere geçmeden önce en önemli işlevlerin en azından çalıştığını, örneğin uygulamanın açıldığını ve kullanıcıların giriş yapabildiğini kontrol eden hızlı ve temel test.
Her şeyin beklendiği gibi gittiği olağan senaryo: kullanıcı geçerli veri girer, hiçbir şey başarısız olmaz ve işlem başarıyla tamamlanır.
Test-driven development (test güdümlü geliştirme) ifadesinin kısaltması: önce başarısız olan bir test yazmak, sonra onu geçirecek kodu yazmak, ardından kodu toparlamak ve bunu kısa döngülerle tekrarlamak.
Gerçek kullanıcıları etkilemeden yazılımın test edildiği; kendi sunucuları, verisi ve ayarları olan sistem kopyası.
User acceptance testing (kullanıcı kabul testi) ifadesinin kısaltması: yazılım canlıya çıkmadan önce gerçek kullanıcıların ya da müşterinin ihtiyaçlarını karşılayıp karşılamadığını kontrol ettiği son test aşaması.
Uygulama çöktüğünde oluşturulan ve geliştiricilerin nedeni bulmasına yardımcı olan kayıt; hatayı, stack trace'i, cihazı, işletim sistemi sürümünü ve diğer ayrıntıları gösterir.
İnsanların uygulamayı nasıl kullandığına dair veriler; hangi ekranları açtıkları, uygulamadan nerede ayrıldıkları gibi. Davranışları anlamak ve özellikleri ölçmek için olaylar (event) şeklinde toplanır.
Belirli bir dönemde çökme yaşamayan kullanıcıların ya da oturumların yüzdesi; bir uygulamanın kararlılığını gösteren temel ölçütlerden biridir.
Bir uygulamanın çalışması gereken cihaz, ekran boyutu, donanım ve işletim sistemi sürümlerinin çok çeşitli olması; özellikle Android'de testi zorlaştırır.
Uygulamayı bir insan gibi kullanan; butonlara dokunan, metin yazan ve ekranda ne göründüğünü kontrol eden otomatik test.
Bir uygulamanın, örneğin sürekli konum takibi, sık ağ çağrıları ya da arka planda çalışmaya devam eden işler nedeniyle pili normalden hızlı tüketmesi.
Bir uygulamanın hem mağazadan indirilirken hem de cihaza kurulduktan sonra kapladığı alan; kod, görseller ve kütüphaneler bunun içindedir.
Application Not Responding: Bir uygulamanın main thread'i çok uzun süre meşgul kaldığında, örneğin bir dokunuşa yaklaşık beş saniye yanıt vermediğinde Android'in gösterdiği hata.
Ekip son çizimlere ve cilaya zaman harcamadan önce, bir fikrin eğlenceli olup olmadığını ya da işe yarayıp yaramadığını görmek için hazırlanan hızlı ve kaba sürüm.
Ekip izleyip eğlence, zorluk ve kafa karıştıran anlar hakkında geri bildirim toplarken insanların oyunun bitmemiş bir sürümünü oynadığı oturum.
Geliştirme sürecinde belirli işlerin teslim edilip değerlendirilmesi gereken, üzerinde anlaşılmış ara nokta; örneğin oynanabilir demo, alfa ya da beta. Yayıncılar stüdyoya çoğu zaman her milestone için ödeme yapar.
Oyunun bütün ana özelliklerinin eklendiği ve baştan sona oynanabildiği, ama henüz çok sayıda hata ve geçici içerik barındıran, cilalanmamış geliştirme aşaması.
Alfadan sonra gelen, oyunun içeriğinin tamamlandığı ve ekibin hata düzeltmeye ve cilaya odaklandığı aşama; ayrıca bu sürümle yapılan açık ya da kapalı test.
Oyunun son kalitesini sanat, ses ve oynanış açısından gösteren, bir bölüm gibi kısa ama tamamen bitmiş parçası; bütün oyunun nasıl olacağını kanıtlamak için hazırlanır.
İnsanların bir ürünü kullanarak bir görevi ne kadar kolay, hızlı ve başarılı biçimde tamamlayabildiği ve bunu yaparken ne kadar memnun kaldığı.
Gerçek kullanıcıların bir ürün ya da prototip üzerinde belirli görevleri yapmaya çalıştığı, araştırmacının da onları izleyerek nerede zorlandıklarını tespit ettiği araştırma yöntemi.
Kullanılabilirlik uzmanlarının, kullanıcılarla test yapmadan sorunları bulmak için bir arayüzü 'heuristic' adı verilen kabul görmüş tasarım ilkeleri listesine göre incelediği değerlendirme.
Mini test: bu terimleri biliyor musun?
Bu sözlükten 10 soru. Her terimin doğru Türkçe karşılığını seç, puanını gör.
Yazılım İngilizcesi nasıl öğrenilir?
- Her gün alandan gerçek metinler okuyun: resmi dokümantasyon, README dosyaları, sürüm notları ve açık kaynak projelerdeki pull request ve issue tartışmaları.
- Terimleri birlikte kullanıldıkları kelimelerle öğrenin: sadece 'bug' değil, 'fix a bug', 'report a bug' ve 'steps to reproduce'.
- Kimse istemese bile İngilizce yazın. Commit mesajları, ticket açıklamaları ve kod yorumları kısa ve risksiz pratik fırsatlarıdır.
- Kısaltmaları ekiplerin söylediği gibi sesli tekrar edin: API ve SDK harf harf, JSON 'Jason' ismi gibi, REST ise tek kelime olarak okunur.
- Ekip arkadaşlarınızın incelemelerde ve günlük toplantılarda kullandığı 'Could you take a look?' ya da 'I'm blocked on…' gibi kibar kalıpları not edin ve siz de kullanın.
Sıkça sorulan sorular
Yazılım İngilizcesi kelimelerini nasıl öğrenebilirim?
Alandan gerçek metinler okuyun ve kelimelerin nasıl kullanıldığına dikkat edin: dokümantasyon, README dosyaları, sürüm notları, issue tartışmaları ve pull request yorumları. Her terimi sık birlikte kullanıldığı kelimelerle öğrenin (open a pull request, fix a bug) ve yeni kelimeleri hemen kendi commit'lerinizde, ticket'larınızda ve mesajlarınızda kullanın.
Önce hangi yazılım terimlerini öğrenmeliyim?
Günlük iş akışının kelimeleriyle başlayın: bug, fix, commit, branch, pull request, merge, code review, deploy, release, ticket, sprint ve stand-up. Ardından test ve hata ayıklama terimlerine, daha sonra da mimari ve API kelimelerine geçin. Bu sözlükteki terimler de aynı şekilde, en temelden daha ileri seviyeye doğru sıralanmıştır.
Yazılımda İngiliz ve Amerikan İngilizcesi arasında fark var mı?
Kodlarda, API'lerde ve dokümantasyonun büyük kısmında Amerikan yazımı kullanılır: color, initialize, behavior. İngiliz ekipler e-postalarda ve belgelerde 'colour' veya 'behaviour' yazabilir ama kodda Amerikan biçimini korur; örneğin CSS'teki color özelliği. Bazı kelimeler farklı okunur: agile (ABD'de 'EC-ıl', İngiltere'de 'EC-ayl') ve route (ABD'de çoğunlukla 'raut', İngiltere'de 'rut') gibi.
İş yerinde Türkçe terimi mi, İngilizcesini mi kullanmalıyım?
Türk ekiplerinde commit, merge, deploy ve pull request gibi birçok İngilizce kelime olduğu gibi, çoğu zaman Türkçe eklerle ('deploy etmek') kullanılır. 'Sürüm', 'dal' ve 'birim testi' gibi Türkçe karşılıklar ise resmi belgelerde, üniversite derslerinde ve akademik yayınlarda yaygındır. İkisini de bilmek, Türkçe bir toplantı ile İngilizce bir kod tabanı arasında rahatça geçiş yapmanızı sağlar.
Günlük toplantılarda ve kod incelemelerinde işimi İngilizce nasıl anlatırım?
Kısa ve kalıplaşmış ifadeler kullanın. Günlük toplantıda: 'Yesterday I fixed…, today I'm working on…, no blockers.' İncelemelerde: 'Could you take a look at my PR?', 'I've addressed your comments', küçük notlar için 'nit: …' ve onay için 'LGTM'. 'What do you think about…?' gibi kibar sorular doğrudan emirlerden daha iyi karşılanır.
İlgili alanlar
Seviyene uygun okumayla pekiştir
Yeni kelimelerin kalıcı olmasının en hızlı yolu seviyene uygun metin okumaktır. Seviyene göre ücretsiz İngilizce kitaplar:
