Bu hikaye, Medium'un üyelik ödeme duvarının arkasındadır ; bu, yazarın Ortak Programı aracılığıyla kazandığı anlamına gelir. Medium'da okumaktan keyif alıyor musunuz? Tam erişim için bir üyelik satın alın .
Programcılar vasat olarak adlandırılmaktan nefret eder. Hiçbir programcı vasat bir programcı olarak anılmak istemez. Her programcı kendi alanında uzman olarak anılmak ister.
Ancak gerçek şu ki, etrafımız uzman olduklarını iddia eden vasat geliştiricilerle çevrili. Ayrıca, sıradanlık bulaşıcıdır.
Bir geliştirici olarak etrafınız vasat geliştiricilerle çevriliyse, sonunda onlardan biri olacaksınız.
Vasat geliştiricilerle çevrili olup olmadığınızı belirlemeniz çok önemli hale geliyor. Vasat geliştiriciler sadece kod yazmada ortalama değil, yaşamda vasat.
İşte vasat geliştiricilerin beş garip işareti.
Akıllı kod, becerilerinizi göstermek için iyidir. Ancak akıllı kod son derece okunamaz. Kodlamayı öğrenirken öğrendiğiniz hileler profesyonelce çalışmıyor.
Profesyonel dünyada, bir kod gözden geçirenin kodunuzu gözden geçirmesi gerekir. Tek satırlık hileler kullanmaya başlarsanız, kod gözden geçiren kişi kodunuzu anlamakta zorlanacaktır.
İnceleyen kişi kodunuzu anlayamazsa. Kodu yeniden yazmanızı isteyecekler.
Vasat kendi kendini yetiştirmiş geliştiriciler, incelemeyi yapanları harika hileleriyle etkileyebileceklerini düşünüyorlar. Ancak gerçek şu ki, bir geliştirici akıllı kod yazarak bir gözden geçireni etkileyemez.
Gözden geçiren kişi, işleri onlar için kolaylaştırdığınızda etkilenebilir.
Okunabilirliği yüksek ve uygun yorumları olan bir kod yazarsanız. Bunu akıllı koddan daha çok takdir edecekler.
Vasat geliştirici, gözden geçireni etkilemek için yanlış ölçümlerin peşinden gider. Gerçekten önemsemeleri gereken şey, akıllı kod değil, sürdürülebilir kod yazmaktır.
Neden akıllı kod yazmamanız gerektiğini anlamak için basit bir örnek alalım.
max = (x > y) ? (x > z? x : z) : (y > z? y : z);
Maksimum değeri bulmak için eski if-else ifadesini kullanın. Okuması ve anlaması kolaydır.
if (a>b && a>c) max = a; else if (b>a && b>c) max = b; else max = c;
Kendi kendini yetiştirmiş birçok kişinin kodunu inceledikten sonra kodu tekrar etme alışkanlığının olduğunu söyleyebilirim.
Bunu bilerek yapmıyorlar.
Çoğu kendini tekrar etmeme ilkesini bilmiyor. Verilen görevleri kod tekrarı ile bitirirler ve kendilerini birer dahi sanırlar.
Bir dosyayı açan ve içeriğini okuyan bir kod yazdığınızı varsayalım.
Şimdi, gelecekte uygulamayı oluştururken tekrar bir dosya açmanız ve içeriğini okumanız gerekiyor. İyi bir programcı olarak, bir dosyayı açıp okumak için bir daha asla aynı kodu yazmayacaksınız.
Bir dosyayı açma ve okuma sorununu çözmek için. İşi bir dosyayı açmak ve içinde bulunan içeriği okumak olan bir fonksiyon yazmanız gerekir.
Artık bir dosyayı açıp okumanız gerektiğinde, mevcut işlevi çağırabilirsiniz.
Vasat bir geliştirici, daha önce yazılmış kodu tekrar edecek kişidir. Yukarıdaki kodu kopyalayıp yapıştıracaklar veya yeniden yazacaklar.
Vasat geliştiriciler, tekrarlayan kod yazdıktan sonra üretken olduklarını düşünebilirler. Ancak kodları tam bir karmaşa olmaya devam ediyor. Tüm kod tabanının kalitesi bu şekilde düşer.
Vasat geliştiriciler kod stilini umursamazlar.
Neden bir kod stili izlemedikleri sorulduğunda. Kodun stilini neden önemsemeleri gerektiğini tartışıyorlar. Kodlarının tamamen iyi çalışması yeterli değil mi?
Büyük bir kod tabanında kod stili önemlidir.
Üzerinde çalışan birden fazla geliştiricinin bulunduğu büyük bir kod tabanı, tek bir geliştirici tarafından yazılmış gibi görünmelidir.
Tutarlılık korunmalıdır.
Takım bir kod stili izlemeyi kabul ettiyse, buna bağlı kalmak mevcut en iyi seçenektir. Ekipteki herkes aynı kod stilini takip ederse, yakın gelecekte herhangi bir değişiklik kolay olacaktır.
If the team has decided to write the code like this:
public void car() { // do what you want }
public void car(){ // do what you want }
A powerful principle in software development is called KISS.
KISS stands for Keep it simple, stupid.
A mediocre developer never tries to simplify things. The code written by them contains sections containing complex algorithms for simple problems.
They don’t strive for simplicity. They strive for complexity.
If you know that the codebase will need changes in the future. You should write code that is easy to understand. It will be easy for your future self to make the necessary changes.
When the contexts around your software change like libraries, the applications that use them will have to change.
In the future, the developer involved in updating the project will bless you if you keep things simple. Even you will be blessing yourself because you kept things light and easy.
Nobody likes to work with complex code.
When you, as a developer, start working with complex code. Your energy level goes down and your anger level goes up. You start to curse the developer family and their upcoming generations.
If an entire codebase is kept complex, it will take a long time to add a new feature. Developer time is pretty expensive these days.
Companies have to spend a huge of money to buy developer time.
Even from a business perspective, it is important to keep all things simple. Overcomplicating simple things will make things difficult for both organizations and developer teams.
Rockstar developers are great teachers.
A mediocre self-taught don’t want to explain anything to other developers.
They find the idea of teaching others boring. Many times you will find them saying:
“I’m not a good teacher, so I don’t want to explain this code.”
But the reality is that they themselves do not understand the code or the concepts properly. Their thought process is not clear on the concept. They actually use “I’m not a good teacher” as an excuse.
They fear that if they start to explain a topic and find that their thought process is broken. They have to understand that topic again in detail.
Also, they fear follow-up questions from other developers.
So to avoid all this mess, they easily say:
“Hey, listen, I’m not a good teacher. That’s why I can’t explain.”
A good developer, on the other hand, blogs about difficult topics. Whenever they find other developers stuck on a problem, they try to help them.
If they understand the concepts, they will explain them or provide the correct resources that could help them.
A good developer is always ready to go back to the whiteboard. They are ready to explore their own thought process. They never run away from giving an explanation on a subject.
More content at plainenglish.io. Sign up for our free weekly newsletter. Get exclusive access to writing opportunities and advice in our community Discord.
Bilinç nedir? Yüzyıllardır filozofların ve bilim adamlarının kafasını karıştıran bir sorudur. Bazıları bunun bedenlerimizden bağımsız olarak gerçekten anlayamadığımız geçici bir şey olduğunu söylüyor.
Yıllık ortalama 154 bin dolar maaş ve istikrarlı iş büyümesi ile şimdi blok zinciri geliştirmeyi öğrenmek için ideal zaman. Blok zinciri teknolojilerini oluşturmak ve geliştirmek için blok zinciri geliştiricileri, bilgisayar ağı, kriptografi, algoritmalar ve veri yapıları dahil olmak üzere çeşitli beceriler kullanır.
"Bozulma" terimi, nedensel mekanizma bilinmediğinde kullanılır ve bireyin altta yatan bilişinde ve nörobiyolojisinde bir işlev bozukluğunu ima eder. 1952'de, DSM 1, klinik kullanım için zihinsel bozuklukları kategorize eden APA Adlandırma ve İstatistik Komitesi tarafından yayınlandı.
Sathya Krishnan Suresh, Shunmupapriya P Bu yazıda, stili ve içeriği iki ayrı görüntüden gelen yeni görüntüler oluşturmak için kullanılabilecek bir yöntem olan “Nöral Stil Transferi” adlı ilginç bir konuyu tartışacağız. Bu makale Leon A Gatys ve arkadaşlarının A Neural Algorithm of Artistic Style (Sanatsal Stilin Sinirsel Algoritması) temel alınarak hazırlanmıştır; burada yazar, Evrişimsel Sinir Ağı (CNN) katmanlarını kullanarak yeni bir görüntünün oluşturulması hakkında ayrıntılı bir açıklama sunar.
Bu gönderi, DFINITY ekibinin merkezi olmayan bulut vizyonunu ve bunun geleneksel blok zinciri ve Amazon Web Servisleri gibi mevcut bulut sağlayıcılarıyla ilişkisini araştırıyor. Büyük ölçekli bir ağ tarafından uygulanan DFINITY teknolojisinin gösterimleri 2017 sonbaharında yapılacak ve bunu, 2018 yazının başlarında piyasaya sürülmesi beklenen “açık bulut” ağıyla kâr amacı gütmeyen vakıf için bir Ana bağış toplama izleyecektir. .
Angular uygulamanızın bazı bölümlerinin neden hala yavaş olduğunu merak ediyor musunuz? Bu makale, uygulama performansınızı nasıl artırabileceğinizi size gösterecek. Angular uygulamalarınızı gecikmeli ve yavaş buluyor ancak bunları nasıl geliştireceğiniz konusunda hiçbir fikriniz yok mu? Uygulamanızın performansını artırmanın yaklaşık 5 yolunu öğrenmek için doğrudan bu makaleye dalalım.