Sürdürülebilir Yanlış

Buraya uzun uzun bir şeyler yazıp, yazılım ile uğraşan, bu uğraşıyı meslek haline getirmiş kişilerin yaptığı hatalardan bahsedip ahkam kesmek istemiyorum.

Bu yazıda tek bir konuya değinmek isterim o da, kendisine yazılımcı diyen birinin, bilgiye karşı nasıl duyarsız kalabildiğini vurgulamaktır.

Diyelim ki, ufak bir web servis yazmanız isteniyor ve RESTful olarak sisteminizi tasarlıyorsunuz. Eğer bir servisi RESTful olarak tasarlıyorsanız, elinizde geçerli bir kaynak ve bu kaynakları yönetebilmek için gereken GET, POST, PUT ve DELETE metotları kullanacaksınız. Aksi herhangi bir durum RESTful standartlarını bozmak anlamına gelecektir. Standartları bozmak, yazılımcılar arasında genel dili bozmak, sistem tasarımlarını etkilemek, uzun vadede, geri dönüşü zorlaştırmak demektir. Yani kısacası toplama işleminin aksiyomlarınından herhangi birini kural dışı bırakıp, toplama işlemini ispatlamaya çalışmaya benzer.

Başıma gelen bir konudan örnek vermem gerekirse, üzerinde çalıştığmız projenin apilerinin tamamı POST şeklinde yazılmış olup herhangi bir standarda uymamaktadır. Dolayısı ile bu projenin başına oturan ve bu işi düzgün yapmak isteyen biri öncelikle neyin POST neyin GET, neyin PUT olması gerektiğini biliyor ise bunu düzeltmelidir.

Lakin bu çalışma teknik olarak kolay olsa da, içinde bulunduğunuz ekipten birilerini bu yanlışı yapmaya diretebilir. Böyle durumlarda, bu yanlışların sürmesindeki tep sebep, bilgisizlikten olduğunu düşünürüm. Öğrenmek istemeyen birine bir şeyler anlatmak sizi aptal konumuna düşürür. İş inatlaşmaya binecektir. Dolayısı ile aynı yanlış sürdürülür, projenin hiç bir standardı kalmaz, kayıtları getirirken bile POST kullanmak bilgisiz biri için normalleşir.

Tabi aslında değinmek istediğim, bir metodun isminin yada tipinin ne olacağını saatlerce tartışmak değil – ki bu da bir iştir – bu mesleği yapıyorsanız, standardları bilemek ve uygulamak gerekir. Bu konu bizi, kod yazım standardlarından, patternlere, öte yandan etik anlayışa kadar götürür.

Dolayısı ile bilgisizliğe, eğer kasten sürüyor ise tahammül edilemez. Kişilerin inatları ve genel geçer kabul edilmiş yanlışlar yüzünden, aptal bir proje üretip onun içinde kaybolmak, mühendislikten teknisyenliğe dönmek ne kadar göz yumulabilir, sindirilebilir bir şeydir bilmiyorum.

Tavsiyem, eğer bir şeyi düzgün yapmak istiyorsanız, öğrenmeye açık olun, ilgilendiğiniz şey her ne ise onun hakkında mümkün olan her şeyi görmeye çalışın. Birileri size tavsiyelerde bulunuyorsa, keyfinden yapmıyor olabileceğini düşünün. Karşılaştığınız şeyleri hemen reddetmektense önce neden öyle olduğunu bir tartışın. Karşınızdakini aptal yerine koyduğunu sanırken asıl aptal siz olmayın.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.