Programlamada mantığı arttırma teknikleri [kapalı]


21

Son 3 yıldan beri programlamaya başladım. Ama içinde kaybolmuş gibiyim. Hergün kodlamama rağmen bu konuda iyi olamıyorum.

Sanırım bir problemi çözersem, çözümden çözüme dolaşıp başka bir çözümü de uygulayacağım. Çok fazla odaklanamıyorum. Yazdığım kod için birçok hata alıyorum. Koddan korkuyorum, neden zamanında bitirmezsem patronum beni kovacak vs. bilmiyorum. Kodlamadan zevk alıyorum ama her zaman değil. Sabır nasıl arttırılır?

Her zaman olağanüstü programcılar gibi nasıl en iyi kodlayıcı olacağımı merak ediyorum. Bunun öznel olduğunu biliyorum ama bunun programcı topluluğunun özellikle benim gibi veya başlangıç ​​seviyesindeki programcılar için iyi olmasına yardımcı olacağını düşünüyorum.


8
Bu şekilde hissetmek yaygındır. Hepimiz derleyiciler yazmayacağız ya da sert programcılar olacağız. Programlama konusunda örgün bir eğitimim yok, ancak problem çözme çok önemli. Teknoloji çok hızlı değişiyorsa, suyun üstünde kalmak çok zor. Sürekli gelişim için gayret ediyorum. Bu benim hedefim. Bu mesleğin çok farklı olduğunu anlayın, size en iyisini yapmak için çaba sarf edin ve devam edin Her hafta yeni bir şeyler öğrenmek veya anlamak için biraz zaman ayırırım. Bu tutumu sürdürdüğünüz sürece, daha iyi olacaksınız.
Jon Raynor

“Koddan korkuyorum… zamanında bitirmezsem patronum beni kovacak vs.” - Programlamanın tadını çıkarmak ve dolayısıyla daha iyi olmak için harika bir ortam değil.
Paul D. Waite

@ PaulD.Waite Doğru, harika değil ama çok çok yaygın.
Pramesh Bajracharya

Yanıtlar:


12

Şahsen ben daha küçük engellerle başlamanızı öneririm; daha küçük parçalara kod yazmayı deneyin ve ara zaferlere daha fazla katılın. Bir şey çok uzun sürerse ya da ilerleme göstermiyorsa, bunalmış ya da sıkılmışsınız gibi geliyor. Kesinlikle aynı gemideyim diyebilirim.

Sandviçle uğraşmak gibi düşün: Her şeyi bir lokmada yemiyorsun, parçalara ayırıyorsun. Projeleriniz, görevleriniz vb. İle aynı şeyi yapın. Hangi düzeyde olduğunuza bağlı olarak, amirinizden / yöneticinizden sizin için ayrılmasını isteyebilirsiniz. Kendi iş yükünüzden sorumluysanız, kendiniz için başarılabilir küçük bitiş çizgileri belirleyin (asla ulaşamayacağınız bir hedef belirleme, bu sadece sizi daha cesaretli kılar ve sizi istenmeyen bir duruma sokar). yani "Öğlen bu sınıfın tanımlanmasını istiyorum", "2'ye kadar bu arayüzün uygulanmasını istiyorum" vb.

Şirketim bir projeye başlama ve hızlanma konusunda ünlüydü,% 90 işaretine ulaşmamı sağladı, daha sonra “sonraki büyük şeye” geçmek için altımdaki halıyı kaydırdı. Hiçbir şey yapamadığım için cesaretini kırmaya başladım ve beni "korkak" a soktum (eğer istersen). Sonunda geriye doğru itildim ve neredeyse bitmek üzere olduğum işi bitirene kadar devam etmeyeceğimi söyledim. Bu, saygım, ahlaki ve enerjim için harikalar yarattı (işverenim hakkında aynı şeyi söyleyemem: shrug :)


7

Benim önerim, bir akıl hocası edinmek olacaktır.

Yeni bir proje aldığınızda, gideceğiniz yola karar verin: genel tasarım neye benziyor; Hangi algoritmaları kullanacaksınız; Erken ve sıklıkla test edebilmeniz için onu nasıl geliştirmeyi planlıyorsunuz? Et cetera.

Bu planları mentorunuza götürün ve onunla konuşun. Yanlış yolda olduğunuzu görüyorlarsa veya önemli bir şeyi kaçırdıysanız, planlarınızı gözden geçirin ve tekrar deneyin.

Artık onaylanmış bir planınız olduğuna göre, buna sadık kalın. Çok feci bir şey olmadıkça planlarınızı değiştirmeyin ve ardından planlarınızı gözden geçirme, onay alma ve yeniden başlatma işlemlerine geri dönün. Aksi takdirde, planınıza sadık kalın ve tam olarak ne yapmaya karar verdiğinize uyun. Uygulamanızı onaylamak için mentorunuza düzenli aralıklarla check-in yapın ve yol boyunca testleri yazıp kullandığınızdan emin olun.

Yukarıdakilerin hepsini başarılı bir şekilde yaptıysanız, zamanında ve doğru sonuçlarla bir proje teslim etmiş olacaksınız. Geri dönüp projenin bir bölümünü yeniden incelemek istiyorsanız, oluşturduğunuz tüm testlerin yanı sıra, oluşturulacak programın çalışan bir kopyasına sahip olursunuz.

Bana biraz fazla dağınık ve konsantrasyonunuz yokmuş gibi geliyor. Belki bu alanları düzeltebilir ve saygı duyduğunuz birisiyle çalışabilirseniz, yakında yoluna girersiniz.

Sana iyi şanslar.


6

Sanırım seninle aynı pozisyondayım ve orada olmak hoş değil. Demorilizing ve zaman zaman oldukça iç karartıcı olabilir. Bununla birlikte, her şeyde olduğu gibi, bunu hafifletmek ve daha sağlıklı ve daha mutlu bir iş kariyeri için ilerlemek için yapabileceğiniz bazı şeyler olduğuna inanıyorum.

  1. Değişmek ve iyileşmek istemeniz gerekiyor. Eğer böyle hissediyorsanız ancak becerilerinizi geliştirmek için zorlu yerlere koymaya hazır değilseniz, o zaman herhangi bir araç / sürecin sizin için yapabileceği kimse yoktur.

  2. Bazı insanlar doğal olarak mükemmeldir. Bazı insanlar mükemmel olmak için çok çalışıyorlar. Çoğu insan mükemmel olmak için çok çalışıyor. Eğer doğal olarak yetenekli değilseniz (programlama veya başka şekilde), o zaman sıkı çalışma sizi oraya götürebilir. Sadece sıkı çalışma seviyesi değişecektir. Hiçbir şey imkansız değildir.

  3. Eksikliklerinizi kabul edin ve düzelmeye çalışın. Gördüğüm en büyük engellerden biri, yollarının iyi bir yol olmadığını kabul etmekten korkan ve bu yüzden hiçbir zaman tavsiye alma veya başka şeyler yapmanın başka yollarını tartışmayan insanlar. Bu yüzden daha iyi uygulamaları asla öğrenemezler ve bu yüzden aynı hataları tekrar tekrar yapmaya devam ederler.

  4. İyi programcılar olduğunu düşündüğünüz kişilerden tavsiye isteyin. Asla konuşmak ve meslektaşlarından tavsiye istemekten korkmayın. Bununla birlikte, tavsiyelerini daima yüz değerinden alın ve kabul edip etmediğinize karar verin. Birisi ne kadar parlak olursa olsun, bir döngüyü programlamanın her zaman birçok yolu vardır.

  5. Oku oku oku. Haber gruplarını okuyun. Bunun gibi sitelere sorularınızı gönderin (aferin). Duyduğun kitapları satın al iyidir veya başka önerilerde bulun.

  6. Açıklık, tasarım ilkelerini küçük adımlarla uygular ve ardından yaptıklarınızla gurur duyar. Kodladığınız şeyle gurur duyuyorsanız, hata ve hatalara yer olma olasılığı daha düşüktür.

  7. Öneri ve yardım için açık. Bir boyutlu düşünceye kapalı. Birçok olasılık ve yönteme açık olun. Her şeyin bir yolu olduğunu düşünenler için dikkat edin. 4 gibi biraz.

  8. Mükemmel bir programcı olmak, mükemmel bir çalışan olmakla aynı şey değildir. Mükemmel bir programcı olmak istediğiniz her şeyse, dürüst olmak gerekirse asla oraya gidemezsiniz. Ancak herkesin yetenekli olduğunu düşünüyorum mükemmel bir çalışan ve kişi olduğuna inanıyorum. Oraya gitmenize yardımcı olabilecek şeyler üzerinde çalışın.


Mükemmel cevap. Bu noktalar harika bir danışmandan geliyor. Beni senpai !! _ / _
Pramesh Bajracharya

4

3 yıllık günlük kodlamadan sonra, temel bilgilerle mücadele ediyorsanız, bunun sizin için doğru meslek olmadığı ihtimalini ciddiye almanız gerekir.

Bu kötü bir şey değil. Programlama herkes için değildir, neyin iyi olduğunu bulun ve bunu kendinize zorlamak yerine, doğal olmayan bir şeyi zorlayın.

Eğer söylediklerin doğruysa .. Asla "istisnai bir programcı" olmayacaksın . Sorun değil, kabul et sadece.


Yorum yapanlar : yorumlar, uzun tartışmalar için değil, açıklama arayışı içindir. Kendi çözümünüz varsa, bir cevap bırakın. Bu cevabın iyi olduğunu düşünüyorsanız, oy verin. İyi olmadığını düşünüyorsanız, aşağı oy verin. Bu soruyu başkalarıyla görüşmek isterseniz, lütfen sohbeti kullanın . Daha fazla bilgi için SSS bölümüne bakın .

Hadi, kimse üç yıl içinde "istisnai" olmaz.
JacquesB 11:16

3

Kendinizi Akış durumuna sokmaya çalışın . İyi bir geliştirici olarak gördüğüm en önemli faktör bu. Bunu yapmak için yapabileceğini bildiğin zorlukları üstlenmen gerekir, ama zordur. Kendinizi içine sokmak için doğru zorluk seviyesini bulmanız gerekir; o zaman daha iyi hale geldikçe kademeli olarak artırabilirsiniz. Çok kolay veya çok zor olan görevlere sahip olmak zararlı olacaktır.


3

Küçük parçalara ayırın.
PB&J sandviçi kullanarak göstereyim.

Genel temel süreci anlayın.

1 - Get Ingredients
2 - Combine Ingredients
3 - Cut Sandwich
4 - Serve Sandwich

Sonra bunların her birini yıkın

**Get Ingredients**
1 - Validate/Create PB
1.1 - Validate/Create Jelly
1.2 - Validate/Create Bread
2 - Move PB To assembly area
...

dahil olan mantığı tamamen anlayana kadar kesme işlemini tekrarlayın.

Bu, daha kolay anlaşılmasını sağlayacaktır. Ve ortak süreçleri tanımlamak daha kolaydır. Kodlamaya başlamadan önce, mantığın zaten çözülmüş olduğundan emin olun. Hata yapmak sadece tamam değil, olması bekleniyor. Uygulamadan önce onları bulmak, düzeltilmesi çok kolaydır.

Genellikle mantık, programlamanın en zor kısmıdır. Bu yüzden herkes bunu yapmak istemiyor. Mantıktan hoşlanmıyorsanız, ancak UI Tasarımını seviyorsanız, daha fazla eğlence bulabileceğiniz uzmanlaşan roller var. Bunda yanlış bir şey yok. Ben şahsen mantığı kullanıcı arayüzüne tercih ederim. Mantık, nerede olmak istediğinizi bulmak istediğiniz yerde değilse, başka roller de vardır.


2

Daha önce de bu tür bir sorun yaşadım .. Yakılmadan hemen önce oldu ve yaklaşık bir yıl sonra üretken bir düzeyde programlayamadım (ve o zamanlar sadece 19 yaşındaydım).

Her neyse, geriye dönüp baktığımda, yönüm ve yönetimin eksikliği vardı. Bir veya iki ay boyunca bir şeyler uygulamak için çalışırdım ve sonra neredeyse bittiğinde aniden tamamen farklı bir şekilde yapılması gerekiyordu. Bu yazdığım her kod satırından oldukça gurur duyduğum için kendime olan saygım büyük bir darbe oldu. Ayrıca yönetim, çoğunlukla bir şeyin nasıl çalışması gerektiğini birkaç saat süren tartışmalardan ve ardından birkaç gün hiçbir şeyi konuşmamaktan ibaretti. Bunlardan bazıları elbette benim hatamdı. Bu, bir noktada işin çok sıkıcı hale geldiği ve sadece kod yazdığımı ve aslında hiç yaratıcı olmadığımı hissettim.

Genel kurallar:

  1. Yön eksikliği olduğunu düşünüyorsanız, onu gündeme getirin. Üstünüzden işlerin nereye gittiğine dair daha fazla yapı isteyin
  2. Her zaman kodu silmek zorunda kalırsanız (ve yeniden düzenleme gibi iyi bir şekilde değil), uygulamadan önce neden daha eksiksiz bir plan oluşturulmadığını ciddiye alın.
  3. Süper küçük bir başlangıç ​​yapıyorsanız ve bir "öncü" geliştirici olarak çalışıyorsanız, açıkça deneyimlemediğiniz zaman, gururunuzu yutun ve yöneticinize gerçekten daha genç bir geliştirici olduğunuzu söyleyin.
  4. Tedium genellikle hiçbir işin yapılmadığı ortaya çıkar. Görevlerinizi daha küçük parçalarda alın ve ilerlemenizi takip edin. Bu, bir şey yaptığınızı hissetmenize yardımcı olacaktır
  5. Diğer her şey başarısız olursa, özellikle yöneticiniz bir tükenmişlik için gittiğinize dikkat etmiyorsa, başka bir yerden uygulamaya başlamak isteyebilirsiniz.

-1

Zendo gibi bir endüktif mantık oyunu bul ve boş zamanlarında oyna. Ciddi anlamda. Endüktif mantık hata ayıklamanın kalbidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.