Programcılar için on parmak yazma
On parmak yazmak, tuşları aramadan kod yazıp düzenlemenizi sağlar. Bir fonksiyon, komut veya yapay zekâ ajanı için talimat yazarken gözünüz ekranda kalabilir. Programcılara yönelik alıştırmalar harflerin yanında rakamları, simgeleri ve kodda kullanılan adlandırma kurallarını da kapsamalıdır.
Öne çıkan noktalar
- Kullandığınız dilin rakamlarını, simgelerini ve adlandırma kurallarını çalışın. Standart AgileFingers kursu rakamları ve özel karakterleri içerir.
- Kod için programlama derslerini kullanın veya kendi parçanızı özel metinlere yapıştırın.
- Vim kullanarak ya da sevdiğiniz IDE'nin kısayollarını öğrenerek verimli çalışabilirsiniz.
- Yapay zekâ ajanının ürettiği kodu inceleyin ve düzeltmeyi öğrenin. Kodu kendiniz yazmasanız da sorumluluk sizdedir.
On parmak yazmak programlamada neden işe yarar?
Temel ilke değişmez: klavyeye bakmadan yazmak. Böylece zaman kazanır, tek tek tuşları bulmak yerine yaptığınız işe odaklanırsınız.
Kod yazmak, bir kompozisyon yazmaya göre daha fazla tuşu tanımayı gerektirir. items[index] += value; gibi kısa bir ifade bile harfleri, köşeli parantezleri, bir işleci ve noktalı virgülü birleştirir. Başka ifadelerde süslü ve yuvarlak parantezler, tırnaklar ve rakamlar da vardır. Küçük harfli sözcüklerden oluşan bir test bu birleşimleri çalıştırmaz. Bir simge aramak için aşağı baktığınızda kodu okumayı bırakırsınız.
Bir koşulu değiştirirken çevresindeki kodu da kontrol etmeniz gerekir. Klavyeye bakmadan yazmak, düzenleme sırasında okumayı sürdürmenizi sağlar. Yazılım geliştirmede 20 yılı aşkın deneyimden sonra bile kod düzenlerken, test eklerken ve terminalde çalışırken bu beceriyi değerli buluyorum.
Gerçekte kullandığınız birleşimleri çalışın
Koşullar, döngüler ve fonksiyon bildirimleri kodda tekrar eder. for (let i = 0; i < items.length; i++) gibi bir JavaScript döngü başlığı parantezleri, noktalı virgülleri, karşılaştırmayı ve artırma işlemini birleştirir. Bir bölümde duraksıyorsanız benzer ifadelerle çalışın. Seçtiğiniz dilin sözdizimini hızlıca yazabilmeniz önemlidir.
Büyük harfler ve adlandırma kuralları da önemlidir. userAccount ile user_account farklı parmak hareketleri ve alışkanlıklar ister. Python stil kılavuzu, fonksiyon ve değişken adlarında küçük harfleri ve sözcükler arasında alt çizgiyi, yani snake_case biçimini önerir. Java değişkenleri genellikle camelCase kullanır; userAccount gibi. Sınıflar ve sabitler için başka kurallar vardır. Hepsini doğal biçimde yazmaya alışın.
Bu farklar alıştırmayı da değiştirir: Python adlarında daha çok alt çizgi, Java adlarının içinde daha çok büyük harf bulunur. Python ile programlayacaksanız Python alıştırmaları, Java alıştırmalarından daha uygun olur.
Kodu kopyalarken ne yaptığını ve nasıl kurulduğunu anlamaya çalışın. Koşulun nerede bittiğini, bloğun nerede başladığını görün. Python'da girinti komutları gruplar; girintiyi değiştirmek programın davranışını değiştirebilir. Kodu düşünmeden yazmayın.
Rakamları ve özel karakterleri çalışın
Standart AgileFingers klavye kursu rakamları ve özel karakterleri içerir. Bir rakam, simge veya tuş birleşimi sizi yavaşlatıyorsa bu derslere dönün. Normal metin yazmak henüz rahat değilse kod alıştırmalarından önce onunla başlayın. Harfler yerleşmişse doğrudan gereken tuşlara geçin. Yıllarca programladıktan sonra bile aradığınız bazı birleşimler kalabilir.
Görsel ABD QWERTY düzenini gösteriyor. Bu düzende süslü parantezler Shift ve köşeli parantez tuşlarıyla yazılır. Başka düzenlerde simgeler farklı yerlerde olabilir ve AltGr kullanılabilir. Alıştırma klavyesini işletim sisteminizdeki etkin düzenle eşleştirin; kullanılabilir karakterler buna bağlıdır. Düzeni ayarlardan değiştirebilirsiniz.
IDE'nizi klavyeden kullanın
JetBrains IDE'leri ve Visual Studio Code, klavyeden dosya aramanıza, çağrıları izlemenize ve simgeleri yeniden adlandırmanıza olanak tanır. Kullandığınız editörün kısayollarını öğrenin. Fare kullanmadan düzenlemeyi seviyorsanız Vim eklentisi bu işlemleri ve çok daha fazlasını sunar.
Her gün tekrarladığınız işlemlerle başlayın:
- Dosya ve simge bulma: klasör ağacını dolaşmadan dosya açın veya fonksiyona gidin.
- Tanıma gidip dönme: çağrıyı uygulamasına kadar izleyin, sonra çağrı yerine dönün.
- Simgeyi yeniden adlandırma: dil destekleniyorsa editörün aracını kullanın. Önizlemeyi ve etkilenen başvuruları kontrol edin.
- Belirli bir testi çalıştırma: ilgili testi tekrarlayın ve bildirilen hataya klavyeden gidin.
- Seçme ve düzenleme: sözcükler arasında hareketi, seçimi genişletmeyi, satırları yorum satırına dönüştürmeyi ve editör ile terminal arasında geçişi öğrenin.
Önce eylem aramayı öğrenin; böylece menülerde dolaşmadan komutları bulursunuz. JetBrains'in standart tuş eşlemelerinde Shift'e iki kez basmak Search Everywhere'i açar. JetBrains kısayol kılavuzu gezinmeyi ve tuş ayarlarını açıklar.
VS Code'da komut paleti genellikle Windows ve Linux'ta Ctrl+Shift+P, macOS'te Cmd+Shift+P ile açılır. Klavye kısayolu düzenleyicisi komutları bulup eşlemeleri değiştirmenizi sağlar. Bir kısayol farklı çalışıyorsa etkin eşlemeyi kontrol edin. Varsayılanı değiştirmeden önce düşünün; ilk yapılandırma genellikle özenle seçilmiştir.
Uzun adlar için tamamlama, tekrarlanan kod için parçacıklar kullanın. Örneğin VS Code IntelliSense tamamlama ve parametre bilgisi sunar. Klavye alıştırmasında tüm parçayı kendiniz yazın. Projede editör yardımını kullanın, ancak eklediğini kontrol edin. Aynı tıklamaları tekrarlıyorsanız kısayolu bulup sonraki işte deneyin.
Terminalde iyi çalışmayı öğrenin
Geliştiriciler ve sistem yöneticileri terminali komutlar, testler, günlükler, dosya yönetimi ve uzak sistemler için kullanır. Komutlar adları, yolları, seçenekleri, tırnakları, boru hatlarını ve sayıları birleştirir. Çalıştırmadan önce yazdığınızı okuyun. Klavyeye bakmadan yazmak, giriş ve düzeltme sırasında komutu izlemenizi sağlar.
Kabuğunuzun düzenleme araçlarını öğrenin. Bash'in varsayılan Emacs tarzı Readline eşlemelerinde Ctrl+A satır başına, Ctrl+E satır sonuna gider. Ctrl+R geçmişte geriye doğru arar. Tab bir komutu veya dosya adını tamamlamayı dener. Bash kılavuzunun Readline bölümü bu işlevleri açıklar. Başka kabuklar ve özel eşlemeler farklı olabilir.
Geçmiş ve tamamlama yeniden yazmayı azaltır. Bir argüman yanlışsa imleci oraya taşıyıp düzeltin; bütün komutu baştan yazmanız gerekmez. Enter'dan önce yolu, seçenekleri ve çalışma dizinini kontrol edin. Uzak sistemde hangi kabuğu kullandığınıza da bakın; düzenleme komutları yerel ayarlarınızdan farklı olabilir.
Hızla birlikte doğruluğu da ölçün
Hızınızı izleyin ama hatalara da bakın. Sürekli düzelttiğiniz bir simge, genel sonuç iyi olsa bile çalışılmalıdır. Editör yanlış yazılan bir adı bulabilir, ancak istediğinizden farklı iş yapan geçerli bir işleci bulamayabilir. Kodu inceleyip test etmeye devam edin.
Doğru yazabilecek kadar yavaş başlayın. Güvenle yazıyor, az hata yapıyor ve hatayı hemen görüp düzeltiyorsanız hızlanın. Sonuçları aynı alıştırma, düzen, sınır ve doğruluk yöntemiyle karşılaştırın. Daha zor bir parça, gelişseniz de sonucu düşürebilir. Kursta ilk dersler kolaydır, sonra birleşimler zorlaşır. Yalnızca alıştırma zorlaştığı hâlde hızınız düşüyormuş gibi gelebilir.
AgileFingers dakikada sözcük veya karakter gösterir. Dönüşümde beş karakter bir sözcüktür; uzun bir tanımlayıcı yalnızca tek sözcük sayılmaz. İlk deneme doğruluğu, düzeltilen hatayı da hesaba katar. Son metin doğruluğu alıştırmada kalan metni değerlendirir. Sonuçlar farklı olabileceğinden karşılaştırırken yöntemi hatırlayın. İhtiyacınıza uyan ayarı seçin.
Programcılar için AgileFingers alıştırmaları
Canlı renkler, görseller ve kolay kullanım, AgileFingers'ın yalnızca yeni başlayanlar, öğretmenler ve öğrenciler için olduğunu düşündürebilir. Okullarda işe yarar, ancak bilgisayar bilimini seven profesyonel geliştiriciler tarafından yapılmıştır. En deneyimli uzmanlara da yararlı olmasını istedik. Bu yüzden basit sözcükler ve soyut tuş birleşimlerinin yanında karmaşık metinleri çalışmak için edebiyat parçaları ve farklı dillerde programlama dersleri ekledik. Retro temalar ve koyu renk seçeneği de var. Bunlar daha sadedir; açık arayüz gözünüzü yoruyorsa hangi görünümün daha rahat olduğunu deneyin.
Programlama dersleri Python, JavaScript, Java ve başka dillerden parçalar sunar. Bir dil seçip gösterilen kodu yazın. Klavye ve parmak kılavuzları gereken tuşları gösterir. Her alıştırmadan sonra hız ve doğruluk bilgisi alırsınız.
Kendi kodunuzla çalışın
AgileFingers özel metinlerinde kendi kodunuzu da kullanabilirsiniz. Çalışmak istediğiniz kısa bir parçayı yapıştırıp başlık verin ve kaydedin. Sonra kendi kataloğunuzdan seçin. İç içe koşullu bir fonksiyon, birleştirmeli SQL sorgusu veya Bash argüman ayrıştırıcısı uygun olabilir. Yazmaya odaklanmak için anladığınız kodu seçin.
Alt çizgiler ve rakamlar zorluyorsa bunları içeren adlar seçin. Tırnak ve parantez hataları için bu işaretleri bolca içeren bir parça kullanın. Başlamadan gösterilen metni kontrol edin; özellikle aslı sekme veya düzeninizde olmayan karakterler içeriyorsa. Teknik açıklamalar ve yapay zekâ ajanı talimatlarıyla da çalışabilirsiniz.
Yapay zekâ ajanları açık talimat ve dikkatli inceleme ister
Bir ajan kod üretebilir, kontroller çalıştırabilir ve işini düzeltebilir. Yine de ne istediğinizi açıklayıp değişiklikleri incelemelisiniz. GitHub'ın kodlama ajanları kılavuzu açık görevler, insan incelemesi ve üretilen kodun test edilmesini önerir.
Az kod yazsanız bile gereksinim anlatır, örnek verir, hata bildirir ve geri bildirim yazarsınız. "Formu iyileştir" ajanı tahmine zorlar. Hangi girdinin hata verdiğini, kullanıcının ne göreceğini ve nelerin çalışmaya devam edeceğini anlatın. Gereksinimler değişince veya ajan yanlış anlayınca talimatları düzenleyin. Yararlı ayrıntılar uygun çözüm olasılığını artırır. Ajanlarla çalışırken tek başınıza kodladığınızdan daha fazla bile yazabilirsiniz. Kodda her simgeyi düşünür, okunabilir ve bakımı kolay olması için kısa tutarsınız. Talimatta mümkün olduğunca açıklayıcı olur, aynı biçimde sözcük kısıtlamazsınız. Biraz komik: Kodu yapay zekâ yazdığında on parmak yazma daha da yararlı olabilir.
Bazıları, talimatları dikte edebildiğimiz için yazmanın biteceğini söylüyor. Dikte ilk taslağı kolaylaştırır ama düzenleme hâlâ iş ister: bir yolu düzeltmek, değişken adı değiştirmek ya da uzun talimattan bir koşulu çıkarmak. Size uygunsa kullanın. Ben küçük değişiklikleri kendim yapabilmek için klavyeden düzenleme çalışmayı sürdürürdüm. Ayrıca bütün iş günü mikrofona konuşmak istemeyebilirsiniz. Bilgisayarlar dâhil herkesle ve her şeyle konuşmayı seven çok dışa dönük birinin bile sesini dinlendirmesi gerekir. Bazen sessizlikte çalışmak istersiniz. Sevdiğiniz klavye bunun içindir.
Davranışını açıklayamadığım bir ürün geliştirmek beni rahat ettirmezdi. Ajanın kendinden emin yanıtı, yetki kontrolünün doğru olduğunu veya uç durumların kapsandığını kanıtlamaz. Ürün sizinse kararlardan siz sorumlusunuz. Sorunu görüp gereken düzeltmeyi anlatacak kadar öğrenin. Bir dili öğrenmek çok kod yazmayı gerektirir. Kendi programlarınızı yazmadan yalnızca sözdizimini anlamak istiyorsanız AgileFingers dersleri yardımcı olabilir.
Çok iyi bir programcı olmak istiyorsanız kod okumayı ve kendi değişikliklerinizi yapmayı sürdürün. Ajanlardan yardım alabilirsiniz, ama işlerini dikkatle inceleyip önerilerine eleştirel yaklaşın. AgileFingers programlama dersleri en zorlandığınız simge ve kod kalıplarını çalıştırır.
Vim ve Neovim'de temel düzenleme
Vim, dosyalarda dolaşıp birkaç tuşla fare olmadan değişiklik yapmayı sağlayan klavye komutları üzerine kuruludur. Neovim, Vim'i temel alır ve aynı düzenleme yaklaşımını korur. İkisinde de giriş ve düzenleme kipleri ayrıdır. Normal kipte dd mevcut satırı siler; ciw imleç altındaki sözcüğü değiştirip yenisini yazmanız için ekleme kipine geçer. Resmî Neovim belgeleri hareketi, düzenlemeyi ve diğer işlevleri anlatır.
Komutları etkilerini görebildiğiniz editörde öğrenin. Bazı Neovim dağıtımlarında Escape, :Tutor ve Enter ile etkileşimli öğretici açılır. Devre dışıysa terminalde nvim --clean çalıştırıp tekrar deneyin. Bu, Neovim'in varsayılan ayarlarını yükler. Vim için sisteminize uygun vimtutor talimatlarını izleyin.
Öğreticinin küçük bir bölümünü yapıp talimata bakmadan tekrarlayın. Ardından tanıdığınız dosyanın kopyasını açıp aynı komutlarla bir adı değiştirin veya satır silin. Uzun listeleri ezberlemeden önce sık gereken birkaç işlemi öğrenin.
Neovim'de IDE özellikleri
Neovim dosya arama, kodda gezinme, tamamlama, tanılama ve biçimlendirme eklentilerini destekler. Kendiniz ayarlayabilir veya hazır bir dağıtım kullanabilirsiniz. LazyVim böyle bir pakettir. Birçok IDE işlevi sunar; yine de diliniz için doğru araçlar gerekir. Kısayol kılavuzu ve which-key penceresi komutları bulmayı kolaylaştırır.
Mevcut IDE'nizde Vim eklentisi de kullanabilirsiniz. Özellikle beklenmedik davranışta hangi kısayolu eklentinin, hangisini IDE'nin yönettiğini kontrol edin. Sık kullandığınız birkaç komutla başlayın.
Kısa bir çalışma planı
Bugün sizi yavaşlatan bir şey seçin: aradığınız simge, sürekli yanlış yazılan ad veya bulamadığınız komut. Sonraki çalışmaya oradan başlayın:
- Gereken rakam veya özel karakter için bir kurs dersi seçin.
- Bu karakteri kodda kullanan programlama dersini ya da kendi metninizi yazın.
- Sonucu kontrol edip yanlış bölümü doğru yazabilecek kadar yavaş tekrarlayın.
- Editöre veya terminaldeki kabuğa dönüp çalıştığınızı gerçek kodda ya da komutta kullanın.
Normal metin de çalışın. Yorumlar, belgeler ve ajan talimatları işin önemli bir parçasıdır. AgileFingers metinlerindeki edebiyat parçalarını kullanın veya teknik notlarınızı hazırlayıp yeniden yazın. Öğrenirken rahatlamak için klavye oyunlarını deneyin.
Programcıların soruları
Bu sorular, Reddit'te bilişim işlerinde klavyeye bakmadan yazma üzerine yapılan programcı tartışmalarında görülüyor.
Sözcükleri hızlı yazarken kodda neden yavaşlıyorum?
Harfleri iyi bilip parantezlerde, tırnaklarda, rakamlarda veya büyük harflerde duraksayabilirsiniz. Bilinmeyen sözdizimi de yavaşlatır. Anladığınız kısa kodu seçip zor birleşimleri çalışın. Aynı parçadaki denemeleri karşılaştırın. Programlama dersleri bu yazıma alışmanıza yardımcı olur.
Programlamadan önce on parmak yazmayı öğrenmeli miyim?
İkisini birlikte öğrenebilirsiniz. Program yapmayı sürdürün ve hâlâ aradığınız tuşlara biraz zaman ayırın. Projeye başlamak için yüksek hız gerekmez. Zaten programcıysanız aynı çalışmayı günlük işinize katabilirsiniz.
Rahat kod yazmak için klavye düzenini değiştirmeli miyim?
Özellikle kendi diliniz için de gerekiyorsa işteki düzeninizle başlayın. Değiştirmeden önce simgeleri çalışın. Başka düzen size uyabilir, ama evdeki ve işteki klavyeleri düşünün. Evde çok özelleştirilmiş bir programcı klavyesi, işte farklı eşlemeli standart klavye kullanıyorsanız geçiş zorlaşabilir.
Sevdiğiniz eşlemeleri seçip iki bilgisayarda da kullanıp kullanamayacağınızı kontrol edin. Sık harflerin, simgelerin ve kısayolların yerini mümkün olduğunca aynı tutun; sürekli yeniden öğrenmeyin. İş ortamı eve uyarlanamıyorsa standart düzeni de rahat kullanmayı sürdürün. Yoğun bir iş gününde güvenmek zorunda kalmadan önce yeni yerleri öğrenin.
Bir sonraki kodlama çalışmanızda deneyin
Kod değiştirirken veya komut yazarken hangi tuşların sizi hâlâ durdurup aşağı baktırdığına dikkat edin. Onları programlama derslerinde çalışın veya özel metinlere parça ekleyin. Editör ve yapay zekâyı kullanın, ama sonuçları okuyup kontrol edin ve düzeltin. Bilişim sektörünün bugünkü hâlini ve son değişimleri beğenmeseniz de birçoğunu pek etkileyemezsiniz. Deneyimli bir geliştirici olarak, kendi iyiliğiniz için bazı değişimleri kabul edip uyum sağlamanızı öneririm. Yine de her şeyi yapay zekâya bırakmayın. Dili yalnız okumak değil onunla üretmek için kodun en azından bir bölümünü kendiniz yazın. Klavyenizi kullanın: fiziksel, dokunabildiğiniz bir iletişim aracıdır. Dijital ürünler arasında gerçek bir şeydir. Dokunabildiğimiz, çalışabildiğimiz ve bizi somut dünyaya bağlayan nesnelere ihtiyacımız var.