Neden (ve Nasıl) Kalem ve Kağıtla Kod Yazıyorum PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Neden (ve Nasıl) Kalem ve Kağıtla Kod Yazıyorum

El yazısı kodu düşüncesi aptalca görünüyorsa, bunun kaçınılmaz olduğunu bilmek sizi şaşırtabilir. Emin değilseniz, yaptığınız son iş görüşmesini düşünün ve görüşme odasında bilgisayar olmadığını hatırlayın - sadece görüşmecileriniz, boş bir kağıt ve mavi bir tükenmez kalem.

Aranızdaki öğrenciler için, notlarınız cevap kağıdınızdaki boş alana stratejik olarak sıkıştırdığınız kod satırlarında asılı kaldığından, bu daha da büyük bir meseledir.

Ve sadece bu değil, deneyimli programcılar, üzerinde çalıştıkları özellikle karmaşık bir algoritmayı karalamak için sizi ofis fotokopi makinesinden çıkardıkları A4 sayfa demetine yönlendirebilirler.

Bu nedenle, bir sınav öğrencisi, potansiyel bir iş görüşmesi veya programlama çıkmazlarını çözmek isteyen biri olun, umarım bu makale, kodlamak için kaleminizi kağıda koyduğunuzda size yardımcı olur.

Kod yazmanın analog yönüne odaklanacak olsam da, bu adımları herhangi bir biçimde veya dilde kodlamaya uygulayabilirsiniz. Bu nedenle, bunu aynı zamanda benim için özel olarak çalışan ama aynı zamanda işinizde sizin için çok yararlı olabilecek genel bir kodlama kılavuzu gibi düşünün.

Neden yazayım?

Başlamadan önce, kimsenin üretime hazır kodu bir not defterine not etmenizi beklemediğini anlamanız çok önemlidir. Bunu bir kod düzenleyiciye bırakıp hatasız derleyemezsiniz. Eğer amaç kusursuz kod üretmek olsaydı, mülakat odalarında ve sınav salonlarında bilgisayar başında oturuyor olurdunuz.

El yazısı kodunun amacı, önceden mantık üzerinden çalışmaktır. Tasarımda mümkün olan en kısa sürede “tarayıcıya girme” arzusu vardır, ancak tasarımları elle çizme konusunda geleneksel bir bilgelik vardır. Düşük kaliteli bir ortam, hızlı denemeleri ve ucuz hataları teşvik eder.

Tek bir tıklamayla çevreleyen öğeleri nasıl etkileyeceğimi bulmaya çalışmanın zahmeti (benim son makale)

Aynısı, esas olarak sözdizimi ve anlambilim üzerinde çalışırken kod için de geçerli olabilir. Bununla birlikte, doğru sözdizimi ve anlambilimi elde etmek her zaman bir artı puan, ancak tüm el yazısı alıştırmasının tek odak noktası değil.

İş el yazısı koduna geldiğinde nereden başlayacağımıza bir bakalım.

Sorunuzu bilin

Üniversitedeki son senemde sağlık nedenlerinden dolayı staj yapamadım hatta kampüs mülakatlarına bile katılamadım. Sonuç olarak, ilk iş görüşmem yüksek bahislerle oldukça gerçekçiydi.

Şimdi geriye dönüp baktığımda, röportaj oldukça kolaydı. Ama daha önce hiç katılmadığım için sebepsiz yere endişeliydim. Görüşmecilerin programlama hakkında sordukları ilk şey, yıldız işaretlerinden oluşan ters bir üçgenin çıktısını alıp alamayacağımdı. Dediğim gibi, kolaydı - hiçbir şey for döngü işleyemez, değil mi? Ama dediğim gibi, kaygım da tavan yaptı.

Derin bir nefes aldım, benim için hazırladıkları boş kağıda avucumu bastırdım, mümkün olduğunca yavaş bir şekilde masanın üzerinde bana doğru kaydırdım (elbette zaman kazandırıyor), kalemi tıklattım ve sonra bir şey yaptım. Sağ.

Önce yıldız işaretlerinden oluşan bir ters üçgen çizdim. Sorularını yanıtlamaya başlamak için ayaklarımı yerde bu şekilde buldum.

Başka türlü parlak geliştiricilerin bir şeyleri yanlış anladığını gördüm çünkü çözdüklerini hiçbir zaman tam olarak kavrayamıyorlar.

Çalıştığımız sorular fizikçilerin veya matematikçilerin çözdüğü sorular gibi değil. Bir dizi parametre alırlar ve eksik olanları bulurlar; sorularımız aynı zamanda sonuçlarımızdır. Sonuçlarımızın ne olduğu bize zaten söylendi - onlara nasıl ulaşacağımızı bulmalıyız. Bu yüzden soruyu iyi bilmek zorunludur çünkü sonucu göreceksiniz.

Çıktısını almak istediğiniz şeyi yazmak veya çizmek, kodlamaya başlamanın en iyi yollarından biridir. Hızlı tempolu endüstrimizde beklentinin, bir "merhaba dünya" demosu çalıştırarak doğrudan programlamaya atlamamız gerektiği olduğunu anlıyorum. Ve tanıdık olmayan bir sözdizimine aşina olmak ve yeni bir şey deneme konusundaki endişenizi üzerinizden atmak harika bir şey.

Ama biri size bir soru sorduğunda ve üzerinde çalışmanız gereken bir sonuç verdiğinde, önce bunu yazmanız daha iyi olmaz mı? Bu soru/sonuç sadece başlangıç ​​noktanız değil, aynı zamanda referans noktanızdır. Kodlamanızın herhangi bir adımında, ona doğru çalıştığınızdan ve doğru yolda olduğunuzdan emin olmak için ona bakabilirsiniz.

Bu nedenle, ister cevap kağıtlarınızda ister yazmak üzere olduğunuz o boş A4 kağıdında olsun, bir saniye ayırarak ve çıktısını almaya çalıştığınız şeyi yazarak başlayın. Cevabınızın bir parçası olmasını istemiyorsanız, bunu kenar boşluklarına veya bir köşeye koyabilirsiniz. Sadece ona atıfta bulunmaya devam edebileceğiniz bir yerde olduğundan emin olun.

Kodunuzu özetleyin

Bu adım iki ucu keskin bir kılıç gibidir. Size programınıza bir yol haritası çıkarabilir veya zamanınızı boşa harcayabilir. Benim işim eski olduğundan emin olmak.

Bu nedenle, her şeyden önce şunu söylemek isterim: Sorununuzun veya sorunuzun kapsamı küçükse, anahat kodu gereksizdir. Yine, bu uygulama tüm projeler veya durumlar için ne kuralcı ne de evrenseldir. Mülakatçınız olduğumu hayal edin ve bir web sayfasındaki bir elemanın CSS kullanarak mümkün olduğunca çok şekilde nasıl ortalanacağını yazmanızı rica ediyorum. Bunun için tam olarak bir taslağa ihtiyacınız olmayacak. Kod parçacıkları, her yöntem için nispeten küçüktür.

Ama şimdi diyelim ki sizi dokunmatik ekranlı bir arayüz aracılığıyla kullanıcı imzalarını yakalayan ve ardından imzayı sunucuya kaydeden bir web uygulaması yazmanız için görevlendirdim. O kadar basit değil, değil mi? Anlamanız gereken birden fazla şey var. Belki küçük bir taslak yardımcı olabilir.

  1. İmza yakalamak için kullanıcı arayüzü — HTML Canvas? WebGL?
  2. Kullanıcı imzalarken web sayfasının geri kalanında işaretçi olaylarını devre dışı bırakın
  3. Yakalanan görüntüyü bir PNG dosyasına dönüştürün ve kaydedin — JS
  4. Ardından blob'a dönüştürün (belki) ve ziyaretçinin günlük verileri tablosuna kaydedin.

Kodlamam gerekebileceğini düşündüğüm kaba bir eylem dizisi yazdım. Ne istediğime bağlı olarak daha kısa veya daha uzun olabilirdi.

İstemci projeleri için anahat kodunu şiddetle tavsiye ederim. Kullanıcı gereksinimlerinizle birlikte veya yazdırdığınız tel çerçevelerin arkasına taslağı yazın.

Madde işaretlerinin hızlı anlık görüntüsü size bir harita, yapılacaklar listesi ve projenin sonuna geldiğinizde doğrulamak için bir kontrol listesi verir - hemen hemen tüm projenizin düşük kaliteli bir listedeki özeti. Bir sonraki benzer projenize başlamak için bir şablon da olabilir.

Ama daha önce de söylediğim gibi, bu adım iki ucu keskin bir kılıç gibidir. Zaman kısıtlamaları olduğunda, sınava girenler ve görüşülen kişiler için bunu kısa tutmanız gerekecek.

Nereden başlayacağınızı bilmiyorsanız, uygulamanızda kodlamanız gereken sadece üç temel işlevi yazın ve zamanınız varsa, beş yapın.

Ama bununla ilgili. Bunun için mümkün olduğunca az zaman harcayın ve ayrıntılara fazla takılmayın. Anahat size ekstra puan kazandırmayacak. Sadece her şeyi kapsadığınızdan emin olmanıza yardımcı olmak için orada. İlk bağırsak tepkinizi yakalar ve projenin ömrü boyunca sizi dürüst tutar.

Longhand vs steno

Siyah mürekkeple bitişik el yazısıyla yazılmış notlar içeren beyaz çizgili kağıt.
Metin seçimini devre dışı bırakmak için hızlı başvuru

Kodlamaya başlama zamanı. Peki, ne yazıyorsun? "Bdr" veya "border-radius"; "div -> p"Ya da"<div><p></div></p>"; "pl()"Ya da"println()"; "q()"Ya da"querySelector()"?

Kodunuzu başka biri derecelendiriyorsa, başka seçenek yoktur. Kısaltmaları, sözde kodları, Emmet kısayollarını ve diğer herhangi bir stenografi yazı biçimini dışarıda bırakın. Aksi takdirde, bunu okuyan birinin kısaltmalarınızın ne anlama geldiğini bildiğini varsaymak için hiçbir neden yoktur.

Gerçekten sana kalmış.

Elle yazma konusunda bağlantınız koptuysa - ve çoğumuz var - sıkıcı oldukları için uzun notalarda aşırıya kaçmamak daha iyidir. Aynı zamanda, yazınızda çok tutumlu olmak diye bir şey yoktur. Bir gün geriye bakıp ne yazdığını anlamak istiyorsan hayır.

Not alma uygulamamda açık bir dosyam ve masamda daha sonra başvurmak üzere kaydetmek istediğim kod parçacıklarını yazdığım çizgili bir not defterim var. Organize değiller, sadece uzun bir snippet akışı. Bu yüzden eski notlara göz atarken, eğer onları net bir şekilde yazmamış olsaydım, ne yazmak istediğimi bilemezdim.

Sözdizimlerini her zaman unuturum. Örneğin, JavaScript işlevleri için tanıtıldığından beri (çünkü daha kısa olduğu için) ok gösterimini kullanıyorum ve birisinin aniden function anahtar kelime, bir sözdizimi hatasına neden olarak parantezleri veya işlev adını bile yanlış yerleştirebilirim.

Bir süredir kullanmadığımız sözdizimlerini unutmamız alışılmadık bir durum değil. Bu nedenle, ileride başvurmak için ihtiyacınız olduğunu bildiğinizde notlarınızı net bir şekilde yazmak daha iyidir.

Sıralı olmayan kod akışı

Mülakata girenler ve sınava girenler için geçerli olmayan son adımın aksine, bu adım özellikle size yöneliktir.

Çoğu programlama dili yorumlanır, derlenir ve yürütülür, böylece bazen kaynakta önceden yazılmış kod çağrıldığında daha sonra yürütülür. Bunu JavaScript'te, örneğin işlev çağırma ile yapıyoruz - işlevler başlangıçta tanımlanabilir, daha sonra çalıştırılabilir. Sınava girenler ve görüşülen kişiler, önce cevabınızın kritik noktası üzerinde çalışmaya başlamak için bunu kullanabilir.

En başından beri söylediğim gibi, el yazısı kodunun amacı, programladığınız şeyin mantığını üzerinde çalışmak veya test etmektir. İlk önce bunu çözmeye odaklandığınızda en iyisidir.

Klasik bir ders kitabı örneğini ele alalım - n'yi bulan bir program Fibonacci sayısı. Bunun için basit bir taslak yazacak olsaydım, şöyle bir şey olurdu:

  1. Girişi alın.
  2. Fibonacci sayısını hesaplayın.
  3. Çıktıyı özetleyin.
  4. Çıktıyı yazdırın.

Bu taslaktaki tüm adımlar esastır; ancak 1, 3 ve 4 daha zorunludur. Bunlar gereklidir, ancak hemen odaklanacak kadar önemli değildir.

Girdiyi almak yerine Fibonacci sayısını hesaplamak için kodu yazmaya başlamak daha iyidir. Bir işleve sarın, ardından devam edin ve kodu sırayla yazın ve uygun olduğunda bu işlevi çağırmak için bir satır yazın.

Sorunun özüne odaklanan kod yazmaya zaman ayırın.

Gerçek profesyoneller ileri atlayabilir. Diyelim ki bir müşteri projem var ve bir üçgen geometrisi ile çalışmam gerekiyor - iki kenarı var, zıt açı var ve üçüncü kenarın uzunluğunu bulmam gerekiyor. Ve başlamak yerine kağıda karalamaya karar verdim. IDE.

İlk olarak, tabii ki üçgeni çizerdim (anlayabileceğiniz gibi, bu çok deneyimli olduğum bir şey). Bazı örnek uzunlukları ve açıları yazardım. Sonra formülü yazardım (kesinlikle çevrimiçi aramanın iltifatları) ve sonra doğrudan işlevin koduna atlardım.

Üretime hazır kodda ihtiyacım olacak olsa da, zorunlu adımları yazmamın bir anlamı yok. Ama bunu bir sınavda cevap kağıdına yazmam gerekseydi farklı olurdu. Diğer adımları atlayamam; ancak yine de formülün koduyla başlayabilirim.

sözde kod

Chris zaten yazdı sözde kod hakkında kullanışlı makale sağlam bir okuma yapmanızı şiddetle tavsiye ederim.

El yazısı kodunun tamamı gibi hisseden tüm profesyoneller için, bir fincan çay gibi görünmüyor, ancak yine de size yardımcı olup olmayacağını merak ediyor olabilir, o zaman sözde kod aradığınız denge olabilir.

Önceki adımlardan birinde bahsettiğim gibi, kodun ana hatlarını çizmeye benzer. Ancak, daha kısadır ve daha çok stenografi kodlamaya benzer. Bazen "iskelet kodu" olarak da adlandırılır.

İşte bir CSS ızgara düzeni için bazı hızlı sözde kod:

Grid
5 60px rows
6 100px columns

Yazacak pek bir şey yok! Bu nedenle, bir kalemi kağıda dökmek bu tür şeyler için mükemmel olsa da, kullandığınız herhangi bir programa sahte kod yazmak da aynı derecede etkili, hızlı ve ucuzdur.

Boşluk ve yorumlar

Kodun %90 anahtar kelime ve %10 sekme olduğuna inanıyorum. Boşluklar olmadan kelimelerin okunabilirliği azalır. El yazısı kod için de girintiler gereklidir. Ancak, kağıdın genişliği sizi sınırlayacağı için lütfen her seviye için kullanmayın. Boşlukları dikkatli kullanın, ancak kullanın.

Siyah mürekkeple el yazısıyla yazılmış kodu olan sarı çizgisiz kağıt.
Ekstra TLC ile yazılmış ödüllü OG snippet'i

Kullanımınız için kod yazıyorsanız, şu ana kadar bahsettiğim her şeyi takip ettiyseniz ve çıktınızı ve sayfaya bir taslak yazdıysanız, yorum eklemenize bile gerek kalmayabileceğine inanıyorum. Yorumlar, aşağıdaki kod kümesinin ne yaptığını size hızlı bir şekilde söyler. Zaten kod için bir taslak yazıp okuduysanız, yorumlar gereksiz notlardır.

Ancak, kararınız bir tane bırakmanızı söylüyorsa, o zaman yapın. Kodun sağ tarafına ekleyin (çünkü önceden yazılmış satırlar arasına, örneğin VS Kodunda yapabileceğiniz şekilde ekleyemezsiniz). Yorum olduklarını belirtmek için eğik çizgiler, parantezler veya oklar kullanın.

Belirli bir sözdizimine güvenmeyen sınavlar için yorumları yazın. Bu şekilde, en azından, ödevinizi derecelendiren kişinin, yanlış biçimlendirilmiş kodla niyetinizi bilmesini sağlarsınız. Ve yorumları belirtmek için yalnızca doğru sınırlayıcıları kullanın - örneğin, bu JavaScript için eğik çizgiler olacaktır.

Analog ve dijital

Daha önce de belirttiğim gibi, burada sağladığım her şey genel kodlama tavsiyesi olabilir. Bunu fiziksel kağıtla denemek istemiyorsanız, herhangi bir not alma uygulaması da çalışır.

Ancak dijital yolu deneyecekseniz, tavsiyem düz bir not alma uygulamasından başka bir şey kullanmayı denemeniz. Akış diyagramları, zihin haritaları, tel çerçeveler vb. gibi daha görsel dijital araçlarla çalışın. Bunlar, sonucunuzu, ana hatları ve kodun kendisini görselleştirmenize yardımcı olabilir.

Çok fazla dijital vatandaş değilim (web üzerinde çalışmak ve son zamanlarda e-kitap okumaya geçiş yapmak dışında), bu yüzden fiziksel not defterlerine bağlı kalıyorum.

El yazısı kodu için favori araçlarım

Herhangi bir kalem ve kağıt yapacak! Ancak orada birçok seçenek var ve bunlar kullandığım birkaç seçim aracı:

Kodlamanın “yazma” yolu yoktur

Umarım, başka bir şey olmasa da, kalem ve kağıtla küçük el yazısı kodum, zaten planladığınız ve kod yazma şeklinizi değerlendirmenizi sağlar. Diğer geliştiricilerin işlerine nasıl yaklaştıklarını bilmek hoşuma gidiyor ve bu benim işleri nasıl yaptığım konusunda size bir göz atma yöntemim.

Yine, burada hiçbir şey bilimsel veya kesin bir sanat değildir. Ancak, el yazısı kod planlamayı denemek istiyorsanız, işte güzel bir sıralı listede ele aldığımız her şey:

  1. Kodunuzun çıktısını (gerekirse örnek verilerle) yazarak başlayın.
  2. Kod için bir taslak yazın. Küçük projeler veya daha az karmaşık olanlar için lütfen bunu üç adımda tutun.
  3. Uzun notaları kullanın. Kendileri için yazan geliştiriciler, yazı okunaklı olduğu ve daha sonra başvurduğunuzda sizin için anlamlı olduğu sürece stenografi notasyonları kullanabilir.
  4. Bir zaman kısıtlaması altındayken, önce sorunun özünü ele alan kodu yazmayı düşünün. Daha sonra, sıralı kodunuzda doğru yere bu koda bir çağrı yazın.
  5. Kendinize güveniyorsanız, ana fikri ele alan sözde kod yazmayı deneyin.
  6. Uygun girintiler ve boşluklar kullanın ve kağıdın genişliğine dikkat edin.

Bu kadar! Elle kod yazmayı denemeye hazır olduğunuzda, umarım bu makale başlamanızı kolaylaştırır. Ve eğer bir sınav veya mülakat için oturuyorsanız, umarım bu, soruları doğru yanıtlamaya odaklanmanıza yardımcı olur.

Zaman Damgası:

Den fazla CSS Püf Noktaları