And Çetin
Hazır kod kullanırken elleriniz titremeli

Hazır kod kullanırken elleriniz titremeli

Hemen hiçbir yazılımcı sıfırdan kod yazmaz. Tecrübesine göre, elindekine benzer bir projeyi daha önce zaten yazmıştır ve geriye kalan, o kodu baz alarak üstünde gerekli değişiklikleri yapmaktır.

Bu mantık aynı projenin içinde de geçerlidir: Temeli bir kere oturttuktan sonra, her fonksiyon öncekilerin bir ölçüde evrimi gibidir.

Eğer daha önce benzerini yazmadığınız yepyeni bir blok koda giriştiyseniz, buna canınızı sıkmazsınız; çünkü bilirsiniz ki sonraki projelerde aynı işleve gerek olduğunda bu tecrübe, elinizi fazlasıyla rahatlatacak.


Peki ya başkasının kodunu kullanırsam?


Hazıra konmanın neredeyse kaçınılmaz olduğu durumlar var. Ancak sonrasında size en fazla baş ağrısı çıkartacak durumlar da gene bunlar.

Diyelim ki uygulamanız Stripe gibi bir ödeme altyapısı kullanacak. Bu son derece karmaşık bir API (uygulama programlama arayüzü) ve müşterilerin ödeme sayfasında girdiği bilgilerin Stripe'a iletilmesi, onların da bu bilgileri işlemesi sürecinde müdahale edebileceğiniz hemen hiçbir adım yok — onların kodunu olduğu gibi kullanmaya mecbursunuz. Tek özelleştirebileceğiniz unsur, ödeme sayfasının tasarımı olabilir.

Bir öğretmen için problem çözmek ve nasıl çözdüğünü anlatmak, kolaydır. Zor olan, öğrencinin çözümündeki hatayı bulmaktır.

Sorun şu ki, bu gibi son derece geniş kapsamlı kopyala-yapıştır kodlarda bir sorun çıktığında, ya da herhangi bir detayı değiştirmek istediğinizde, tüm o değişkenleri ve sınıfları ve fonksiyonları baştan itibaren satır satır okuyup, olan biteni mümkün mertebe anlamanız gerekir. Ve inanın bana, bu esnada sarf edeceğiniz efor, kopyalayıp yapıştırırken kazandığınız zamanı fazlasıyla silip süpürecektir.

Aynı mantık pluginler/paketler için de geçerli. Uygulamanıza biraz karmaşık bir işlev eklemek istiyorsunuz diyelim. Google'da arattınız ve Stackoverflow'daki bol pozitif oylu, tek satırlık bir yorum size tam da istediğinizi gerçekleştiren bir paketin GitHub adresini verdi; tek yapmanız gereken projenize ekleyip, yönergeleri takip ederek hızlıca uygulamak.

Hemen altındaki diğer yorumsa, onlarca satırlik bir kod snippet'iyle istediğinizi nasıl gerçekleştirebileceğinizi size kabaca gösterdi. Fakat arzuladığınız hale getirebilmek için üstünde epey çalışmanız gerekiyor.

Hangisini seçmelisiniz?

İlk seçenek geçici bir zaferdir; hedefinize kestirmeden ulaşmış olursunuz ama herhangi bir tecrübe kazanmış olmazsınız.

Artı, yukarıda da söz ettiğimiz gibi, o birkaç satır kodla istediğinizi yapan paket aslında, arka planda muhtemelen yüzlerce ek satıra hükmediyor; ve dua edin de tam olarak istediğinizi yapsın ve yazar paketi güncel tutsun/destek vermeyi sürdürsün, çünkü üstünde değişiklik yapmanız ya da ileride sorun çıkardığında çözmeniz kıymetli günlerinize mal olabilir.

Tamam; ikinci seçenekte de başka bir kullanıcının kodunu kopyalayarak işe başlayacaksınız, ama en azından üstünde gerekli değişiklikleri yaparken istemeseniz de nasıl çalıştığını anlamak zorunda kalacaksınız. Daha da önemlisi, nasıl çalıştığını görüyor olacaksınız.


CTRL + C bir saatli bombadır


...ve CTRL + P yaptığınız an patlar. Minimum hasarla atlatabilmek için, önceki yazımızda da söylediğimiz gibi...

Bunu mümkün olduğunca az yapın ve 'geçirdiğiniz' her satır kodu anlamaya, özümsemeye, sindirmeye çalışın.

0 Yorum

Yorum Bırak