Collaborative Practice Accelerates Büyümesi Neden
Tek başına kodlama zorluklarından çalışmak etkili olabilir, ancak süreç için bir akran veya mentor eklemek deneyim değiştirir. Fikirler için seslendirme kurulu kazanır, yazılım mühendisliği takımlarında programlama için ikinci bir çift göz, ve daha yüksek kaliteli kod ve sadece izolasyonda çalışanlardan daha hızlı bilgi sahibi olur.Bu makale, online olarak yapılan düzeltmeler ve alternatif çözümler sunar.
Deep Dive: Teoriden Tangible Çıktılar
Immediate Feedback: The Learningquest
Yalnız kodlandığında, bir hatanın peşinden koşmak veya zaman karmaşıklığı, kenar çantası işlemesi gibi kavramlar uygulamak için zaman harcayabilirsiniz ve bir mentor, ihmal edilen döngünün bir hatayla değiştirilmesini önemli ölçüde azaltabilirsiniz.Bu hızlı geri bildirim döngüsü, zaman karmaşıklığı, kenar izi işleme gibi kavramlar için özellikle değerlidir ve kodlanabilirlik için geçerlidir.Örneğin, bir mentor doğrudan doğru işleminizin gerçek zamanlı olarak sizin tarafınızdan değiştirebileceğini söyleyebilir.
Bilgi Paylaşımı: Farklı Yaklaşımlara İlişkin Exposure
Her programcının eşsiz bir problem çözme tarzı vardır. Başka biri ile işbirliği sizi daha geniş bir strateji aracı haline getiren bir probleme sahiptir. Belki de partneriniz, anlamlı değişken isimlerle temiz kod yazırken, uygulama yapmadan önce bir dil-özel hileler biliyor olabilirler.Bu dersler sadece çözümü çözmenin ötesine geçiyorlar. - özellikle de gerçek dünya gelişimi için hazırlayabilirsiniz.
Motivasyon ve Hesapability: Konsolistlik Faktörü
Kod öğrenmek bir maratondur ve motivasyon doğal olarak ebbs ve akışlar.Bir akran veya mentor ile düzenli seanslar sizi takip eden sabit bir ritim yaratır.Birinin bunu ortaya çıkarmanızı ve bir problem hakkında tartışmasını istediğinizde, uygulama atlamak için çok daha az olasıdır. ”ŞUygunluk ortakları ).Örneğin, dinamik programlama ile mücadele ederseniz, mentorunuz bunu çok daha küçük, birkaç seansta başarılı adımlarla kırılabilir.
Gerçek Dünya Simülasyonu: Collaborative Work için Hazırlanma
Profesyonel ortamlarda, nadiren bir vakumda kodlayabilirsiniz. Kod değerlendirmelerine katılacaksınız, çift programlama seansları ve takım damval.Bu senaryoları bir araya getirerek, yapıcı eleştirinizi kabul etmeyi ve tasarım kararlarını kabul etmeyi öğreneceksiniz.Bu yumuşak beceriler, sürekli olarak geliştiriciler arasında iletişim ve takım çalışması olarak önemlidir.
Ürün Seansları için Aşamayı Ayarlayın
“Neden” ve Hedeflerinizi Tanımlayın
İlk seansınızdan önce, hedeflerinizi uyumlu bir tartışmaya devam edin – her iki kısa vadeli (örneğin, bu hafta) ve uzun vadeli (örneğin, belirli bir veri yapısına sahip olmak veya CS50 gibi zorlu bir dersle çalışmak).Açıklama hedeflerinizi yazın - her iki kısa vadeli (örneğin, bu hafta üç orta-difficulty problemlerini çözmeye hazırlanıyorsunuz) ve uzun vadeli (örneğin, bu ilerlemenin sonuna kadar grafiği algoritmaları düşünerek.
Sağ sorunları Birlikte seçin
Mevcut beceri seviyesinin biraz üstünde olan sorunlar seçin – meydan okumadığınız tatlı nokta, ancak çökmüş değil. dengeli büyüme sağlamak için bir konu karışımı kullanın: diziler, stringler, ağaçlar, grafikler, dinamik programlama ve sistem tasarımı (eğer uygunsa) Platformlar her bir problem için oturum açma ve neden bu kadar basitliği seçmelerini tavsiye eder.
İletişim için Ground Kuralları Oluşturun
Etkili bir işbirliği, video, ses-sadece veya metin sohbetini kullanıp her ikisine de rahatça bakmanız gerektiğini karar verir (VS Code with Live Share is a popular choice).Bir "da-navigator" rolüne devam edin: sürücü türleri, sorular ve stratejilere ek olarak, bağımsız olarak çalışabilirsiniz.
Bir One-Time Practice Session
Aşama 1: Problem Anlayış ve Planlama (10 dakika)
Problem açıklamasını okuyun. Her iki katılımcı da klavyeye dokunmadan önce kendi sözleriyle ifade etmelidir.Bu aşama, olası giriş kısıtlamaları, kenar davaları (ilişleme, negatif sayılar, tek bir element), ve beklenen çıktı formatı. # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
2. Aşama 2: Uygulama (25 dakika)
Şimdi kodlamaya başlayın. sürücü her küçük tipteleri düzeltirken çözüm verir - sürücü genellikle bu soruları yakalamaya odaklanır.Örneğin, sürücü indeksi doğru bir şekilde güncellemezse, navigator “Her küçük tipteki elemanların ne kadar iyi olduğunu?”
3. Aşama: İnceleme ve Refaksiyon (10 dakika)
Bir çalışma çözümü yerde, geri adım ve eleştiriliyor mu? Tüm kenar davalarını idare ediyor mu? daha verimli olabilir mi? alternatif yaklaşımlar tartışır. Örneğin, eğer tekrar elde ederseniz, aynı sonuç elde edilebilir mi, yeni bir sözcüzdi kullandıysanız, bu aşamada sağlam bir kaynak olabilir mi?
Aşama 4: Yanma ve Sonraki Adımlar (5 dakika)
Oturumu her insanın öğrendiğini özetlein: En zorlu kısım neydi? Bir sonraki sefere farklı bir şekilde deneyeceksiniz? Örneğin, “Gelecek sefer, 30 dakika içinde orta seviye ikili ağaç problemini çözmek istiyorum. Bu, partnerinizi sürekli ve öngörüleri için tutar - işbirliğine olumlu bir destek sağlar.
Deeper Learning için İleri Teknikler
Ters Mühendislik Varamı
Her zaman sıfırdan kodlamak yerine, bazen LeetCode’un tartışma forumlarından ve birlikte ayrıştırmalarından daha hızlı bir şekilde bir platform seçin.Rekreksiyonu her satır üzerinden, yazarın neden belirli seçimler yaptığını ve bu tekniğin denemeden daha hızlı bir şekilde tanınmasını tartışabilirsiniz.
Beyaz Saray-Sadece Mücadele
Bir hafta sonra, herhangi bir bilgisayar olmadan bir seans yapın - sadece bir beyaz tahta veya kağıt sayfası yazın.Yaz p-kole diyagramlar yaz ve mantıkla konuşun. Bu, yalnızca telefon ekranında veya yerinde beyaz tahta röportajları birçok teknoloji firmasında ortak alır.Bu, değerli bir beceri olduğunu düşünmeniz için güç verir. Plus, otomatik-kompletion ve derleyici hataları ortadan kaldırır, bu yüzden sadece oturumdan sonra, sadece birkaç dakikanızı alır.
Her Diğerini Öğretmek
Bir konu hakkında en etkili yollardan biri bunu öğretmektir.Bir konsepti birbiriyle açıklamaya çevirebilirsiniz - örneğin, bir seans bana yeniden giriş öğretir.Ahlaklılık öğretir.[0] ⁇ , bilginizi organize etmeniz gereken bir işarettir[FLT 1: 1 ) ve bildiğiniz boşlukları doldurabilirsiniz. Ayrıca “Feynman tekniği” kullanabilirsiniz: tam bir başlangıç olarak basit dilde bir konsept açıklayabilirsiniz.
Ortak Pitfalls ve Them'dan Nasıl Kaçırmak
Bir Kişi Hakimini Bırakmak
Bazı çiftleşmelerde, bir kişi (daha deneyimli bir kişi) çoğu konuşmayı ve yazımını yapmak için sona erer. Bu, işbirliğinin amacını ortadan kaldırmak için, sıkı rollerini yerine getirmek için: 10-15 dakika boyunca bir zamanlayıcı kurmak, sonra sürücü ve navigator inşa etmek için teşvik edilmelidir.
Problem Analizi Aşamasını Atlayın
Bir problem tanıdık olduğunda doğrudan kodlamaya atlamak caziptir. Ancak deneyimli geliştiriciler bile kasıtlı bir planlama aşamasından faydalanır. Skipping it can lead to missing a critical edge case or choose the wrong. make it a rule: no typeing until you've speakerly specified the approach and defined at least three edge cases.
Dış Hintlara Fazladan Bakış
Sıkıntılı zaman, çözümde peek yapmak ya da doğrudan bir cevap sormak kolay. Bu kısa devreler öğrenme sürecine karşı.Örneğin, akrandaki değerleri sorun: “Bu yöntemin nasıl kullanılacağını nasıl değiştiririm?” gibi, eğer mentorluk yaparsanız, tam cevabı vermeye hazır olun.
Uzaktan Pairing için özel düşünceler
Birçok işbirliği online gerçekleşir, özellikle yerel bir akran veya mentor bulmak mümkün değildir. Uzak çift programlama için tasarlanmış aletler kullanın: VS Code Live Share, Tuple, ya da Zoom ile basit ekran paylaşımı.Herhangi bir yerel akran veya mentor bulmak her zaman istikrarlı bir internet bağlantısı ve sessiz bir ortam sağlar.(örneğin bir GitHub repory veya Google Doc) sorunları takip etmek için iyi bir mikrofon ve kafaset kullanın.Her zaman teknik konulardan kaçınmak için oturumunuzu test edin.For async follow-up, paylaşılan bir belgeyi korumak için ortak bir belgeye sahip olun.
Doğru Peer veya Mentor bulmak
Peer Networks: Local and Online Topluluklar
Kodlamalar (a.s.com veya Eventbrite), bootcamp alumni grupları veya online topluluklar, belirli bir görüşme öncesi ([Dönetici) veya r/doktor altmış.....................................................................................................................................................................................................................
Mentorluk Platformları ve Programlar
Deneyimli bir geliştiriciden rehberlik tercih ederseniz, yöneticinizin üst düzey bir mühendisle haftalık kodlama seansını kurmasını tercih ederseniz, Röportaj veya Outco gibi sık sık sık sık sık sık sık sık sık kariyerli profesyonellerle röportaj yapar.Birçok şirket, bir genç geliştirici olarak çalışırsa, yöneticinize bir üst düzey bir mühendisle haftalık kodlama seansını yapmanızı isteyin.) Mülakat gibi ücretli hizmetler.
İlk Bağlantıyı Yapmak
İçeri girebilmek, ancak iyi bir mesaj, Dijkstra problemine ve açıklamaya çalışan durumunuzu artırmaktadır (örneğin, “Orta ölçekli şirketlerde yazılım mühendisliği görüşmeleri için hazırlanıyorum”) ve bu kişinin (örneğin, gerçekten coşkulu ve saygı gösterseniz) yardım etmeye istekli olduğunu görmek için çağrıda bulunuyorum.
Ölçme ve Uygulamanızı Evolving Your Practice
Birlikte çözdüğünüz sorunların koşuşturucu bir logunu tut, iyi giden ve hangi zor oldu.Bir ay sonra, desenleri tanımlamak için oturum açma oturumunuzu gözden geçirin: Sürekli olarak tekrarlayıcı ile mücadele ediyor musunuz?Partnerinizi korumak için bu anlayışları kullanın.(0)Set kilometre taşları)Set taşları ) “bir sıradaki 10 orta problemleri “solve 10 orta problemleri bir araya getirerek, “konuşaklama olmadan sürekli olarak bir araya getirin.
Etkili çift programlama teknikleri hakkında daha fazla okuma için, klasik kaynak:0)"Pair Programlaması Işıklı") ek olarak, Robert C. Martin tarafından “Temiz Kod” serisi doğrudan oturumlarınızın kod inceleme aşamalarında uygulanabilir olan ilkeler sunar.
Sonuç: İlerlemeye Uygulama
Collaborative kodlama uygulaması sadece bir çalışma tekniğinden daha fazlasıdır - bir geliştirici olarak büyümeniz için çok basit bir geliştiricidir.Açık hedefler belirleyerek, uygun sorunları seçerek, toplantıları kasıtlı olarak yapılandırın ve etkin bir şekilde iletişim kurabilirsiniz - herhangi bir takımda başarılı yazılım mühendisleri tanımlamak için aynı alışkanlıkları dönüştürebilirsiniz. Hem de bir mentorla çalışmak ya da yolculuğunuzu hızlandıracak alışkanlıklarınızı hızlandıracak.