JavaScript Programlamada En İyi Yöntemler

JavaScript Programlamada En İyi Yöntemler

Bu makale, JavaScript programlamadaki en iyi yöntemleri açıklar.

JavaScript'teki temel en iyi uygulamaları somut kod örnekleriyle tanıtacağız.

YouTube Video

JavaScript Programlamada En İyi Yöntemler

Programlamada yalnızca "çalışan kod" yazmak değil, bakımı kolay, verimli ve güvenilir kod yazmak da önemlidir. "En iyi uygulamaları" takip ederek, kodunuz diğer geliştiriciler için daha anlaşılır, bakımı ve genişletilmesi daha kolay hale gelir ve nihayetinde daha az hataya ve daha iyi performansa yol açar.

Kod örnekleriyle, JavaScript'teki temel en iyi uygulamalara bakalım.

Açık ve Açıklayıcı Değişken ve Fonksiyon İsimleri Kullanın

Sadece kodu okuyarak bir değişkenin veya fonksiyonun ne ifade ettiğini anlayabilmek mümkün olmalıdır. Kısaltılmış adlar ya da kısaltmalar yerine açıklayıcı adları tercih edin.

Kötü örnek

1/* Bad Example */
2let x = 10;
3function fn() {
4    // ...
5}
  • x veya fn gibi adlar kodun amacını belirsizleştirir.

İyi örnek

1/* Good Example */
2let totalItems = 10;
3function calculateDiscount(price) {
4    // ...
5}
  • totalItems veya calculateDiscount gibi anlamlı adlar kullanmak, okuyucuların kodu anlamasına yardımcı olur.

const / let kullanın ve var'dan kaçının

var kapsam ve yeniden bildirim sorunlarına yatkın olduğundan, her zaman const veya let kullanmanız önerilir.

Kötü örnek

1/* Bad Example */
2var count = 5;
  • var fonksiyon kapsamlıdır ve istenmeyen yeniden bildirimlere ve hoisting'e neden olabilir.

İyi örnek

1/* Good Example */
2let count = 5; // Reassignable
3const MAX_COUNT = 10; // Not reassignable
  • let ve const blok kapsamlıdır ve kullanımları daha güvenlidir; bu da daha öngörülebilir ve kararlı kodla sonuçlanır.

Doğru Yorumlar Kullanın

{^ i18n_speak 単にコードの動作をそのまま繰り返すコメントではなく、コードの「目的」や「理由」を説明するためにコメントを使います。^}

Kötü örnek

1/* Bad Example */
2let a = 100; // assign 100 to a

İyi örnek

1/* Good Example */
2// Initialize the maximum value to 100
3let maxItems = 100;
  • Ne yapıldığından ziyade neden yapıldığını açıklayan yorumları tercih edin. Bu, mantığın karmaşık olduğu yerlerde özellikle faydalıdır.

DRY (Kendini Tekrarlama) İlkesini Takip Edin

Aynı mantığı tekrar etmek yerine, bunu fonksiyonlara veya sınıflara ayırın. Tekrarı azaltmak, bakım kolaylığını artırır ve hataları önlemeye yardımcı olur.

Kötü örnek

1/* Bad Example */
2let totalPrice = price * quantity;
3let discountedPrice = (price * 0.9) * quantity;

İyi örnek

1/* Good Example */
2function calculatePrice(price, quantity, discount = 0) {
3    return (price * (1 - discount)) * quantity;
4}
5
6let totalPrice = calculatePrice(price, quantity);
7let discountedPrice = calculatePrice(price, quantity, 0.1);
  • Yinelenen mantığı bir fonksiyonda toplayarak değişiklikler ve düzeltmeler tek bir yerden yapılabilir. Bu, büyük ölçekli geliştirmede özellikle önemlidir.

Fonksiyonları tek sorumluluklu tutun ve yan etkileri en aza indirin

Her fonksiyonun tek ve net bir amacı olmalıdır. Yan etkileri en aza indirmek için global veya harici durumu değiştirmekten kaçının.

Kötü örnek

1/* Bad Example */
2let total = 0;
3function addItem(price) {
4    total += price; // modifies external state
5    console.log('Item added');
6}

İyi örnek

1/* Good Example */
2function calculateTotal(items) {
3    return items.reduce((sum, item) => sum + item.price, 0);
4}
  • Fonksiyonları saf olacak şekilde tasarlamak—aynı girdiye aynı sonucu döndürmeleri—test etmeyi kolaylaştırır ve onları daha güvenilir kılar. Bu aynı zamanda yeniden kullanılabilirliği ve hata ayıklama kolaylığını artırır.

Hata Yönetimi Yapın

Uygulamanın beklenmeyen girdilerde veya istisnalarda çökmediğinden emin olun. Hataları uygun şekilde ele almak için try...catch sözdizimini kullanın.

Kötü örnek

1/* Bad Example */
2let data = JSON.parse(inputData);

İyi örnek

1/* Good Example */
2try {
3    let data = JSON.parse(inputData);
4} catch (error) {
5    console.error('Failed to parse JSON:', error);
6}
  • JSON.parse() hata fırlatabileceğinden, bunu try-catch ile güvenli şekilde ele alın. Kapsamlı hata yönetimi, sağlam uygulamalar oluşturmanıza yardımcı olur.

Yapılandırılmış loglar üretin

Sistem davranışını daha kolay izleyebilmek için logları tutarlı bir formatta çıktılayın. JSON formatlı loglar kullanmak, analiz ve izleme araçlarında onlarla çalışmayı kolaylaştırır.

Kötü örnek

1/* Bad Example */
2console.log('Error occurred!');

İyi örnek

1/* Good Example */
2console.log(JSON.stringify({
3    level: 'error',
4    message: 'Database connection failed',
5    timestamp: new Date().toISOString()
6}));
  • Düz metin loglar bilgi kaybına yol açabilir; yapılandırılmış loglar log analizi, görselleştirme ve izlemeyi kolaylaştırır. Bu, sunucu tarafı JavaScript'te (Node.js) özellikle etkilidir.

Kodun Okunabilirliğini Artırın

Kod başkaları (veya gelecekteki siz) tarafından okunur. Kodun kolay okunması için uygun girintileme, satır sonları ve boşluklandırma kullanın.

Kötü örnek

1/* Bad Example */
2if(a===b){doSomething();}

İyi örnek

1/* Good Example */
2if (a === b) {
3    doSomething();
4}
  • İyi biçimlendirilmiş, okunabilir kod daha hızlı anlaşılır ve hataları fark etmeyi kolaylaştırır. Her şeyi tek satıra sıkıştırmayın; yapıyı görsel olarak netleştirin.

Her zaman güvenliği göz önünde bulundurun

JavaScript sıkça web ortamlarında çalıştığından, güvenlik bilinci şarttır. Kullanıcı girdisini her zaman doğrulayın, XSS ve CSRF'ye karşı koruma sağlayın ve bağımlılıkları güncel tutun.

Kötü örnek

1/* Bad Example */
2// Directly inserting user input into HTML (vulnerable to XSS)
3element.innerHTML = userInput;

İyi örnek

1/* Good Example */
2// Use textContent to prevent XSS attacks
3element.textContent = userInput;
  • Kullanıcı girdisini olduğu gibi işlemek, betik enjeksiyonu gibi güvenlik açıklarına yol açabilir. Güvenli API'ler kullanın ve veriyi daima doğrulayıp temizlemeyi alışkanlık haline getirin.

Kod Testi Yapma

Otomatik testler eklemek, hataları tespit etmeyi ve önlemeyi kolaylaştırır. JavaScript'te Jest ve Mocha gibi test çerçeveleri yaygın olarak kullanılır.

Örnek

1// Simple test using Jest
2function sum(a, b) {
3    return a + b;
4}
5
6test('adds 1 + 2 to equal 3', () => {
7    expect(sum(1, 2)).toBe(3);
8});
  • Testlere sahip olmak, özellik eklerken veya değişiklik yaparken hataların yeniden ortaya çıkmamasını sağlar. Testler, sürekli kalite güvencesi için vazgeçilmezdir.

Sonuç

En iyi uygulamaları takip etmek, kod kalitesini, bakım kolaylığını ve güvenilirliği büyük ölçüde artırabilir. JavaScript öğrenirken, yalnızca sözdizimi değil, aynı zamanda "iyi kod nasıl yazılır" konusunda da alışkanlıklar edinmek önemlidir. Sürekli öğrenerek, kodunuzu daha okunabilir, güvenli ve verimli hale getirebilirsiniz.

Yukarıdaki makaleyi, YouTube kanalımızda Visual Studio Code'u kullanarak takip edebilirsiniz. Lütfen YouTube kanalını da kontrol edin.

YouTube Video