Nasıl İletişime Geçmek İstersiniz?
Geliştirme

Nasıl Programlama Geliştirici Olunur: Sıfırdan 8 Adımda Uygulama Oluşturma

  • “Kod yazmayı öğrenmenin en iyi yolu nedir?”
  • “Nasıl programcı olunur”
  • “Uygulama nasıl oluşturulur”

Bunlar, nasıl kodlanacağını öğrenmek isteyen yeni başlayanlar tarafından her gün sorulan yaygın sorulardır. Şüphesiz, bu satırlar boyunca zaten bir şeyler aradınız ve “standart” tavsiyeden bıktığınız noktaya kadar yeterli makale / cevap okudunuz.

İşte kısa ve oldukça anlamsız bir cevap arayanlar için (SEO dostu bir tıklama yemi vereceğim) ismi: “Programcı Olmanın 3 Adımı”) için hazırladığım yazı dizisi:

1. Adım: Bir Dil Seçin

2. Adım: Dili Öğrenin

3. Adım: Öğeler Oluşturun ve Öğrenmeye Devam Edin

 

Nasıl kodlanacağını öğrenmek için tüm yöntemlere uygun tek bir boyut olduğunu söylemek isterdim fakat, gerçekten yoktur. (Adım 0’ı da ekleyeyim: herkesin farklı öğrendiğini kabul et).

Adım 1 ve 2’yi ayrıntılı olarak açıklayan sayısız daha ayrıntılı cevap web üzerinde zaten var, ancak birinci adımın ortak cevabı Python veya Ruby’yi ilk diliniz olarak öğrenmektir (dile çok fazla asılmayın, asla başlamayacaksınız) ). Öğrenim kaynaklarına ihtiyacınız varsa, kontrol edebileceğiniz birkaç başlık hazırladım:

  • Python
  • Ruby on Rails
  • JavaScript’i Öğrenin (AngularJS veya React gibi çerçeveleri öğrenmeden önce her zaman JavaScript’i öğrenin)
  • İOS Geliştirme
  • Android Geliştirme

 

Birçoğunuz bu noktaya geleceksiniz:

Kayıp bir koyun haline geldiğiniz anı yaşıyorsanız, yalnız olmadığınızdan korkmayın.

Hemen hemen “nasıl programcı olurum” diye sorduğunuzda, geliştiriciler bir şeyler inşa etmenizi söyleyecektir, çünkü bir şeyler oluşturmak bir programcı olarak nasıl geliştirebileceğinizdir ve öğrenmenin en iyi yoludur, v.b. v.b.

Ancak kendi uygulamanızı nasıl oluşturabilirsiniz?

Kullandığınız dil ve teknoloji ile bir Twitter / Pinterest / Instagram / gibi klonların nasıl oluşturulacağına ilişkin mevcut öğreticileri her zaman takip edebilirsiniz. Ama bu aşamada sizden istediğim öğreticilerin sizin için işin çoğunu gerçekten yaptığını görün ve tek yapmanız gereken şeyin kodu ve mantığını anlamak olduğunu unutmayın.

Bu makale, kendi uygulamanızı sıfırdan oluştururken takip edebileceğiniz bir taslak sunmaya çalışacaktır.

 

Ön koşullar
Çoğu uygulamanın bir veritabanına ihtiyacı olacaktır, bu nedenle kendi uygulamanızı kendiniz oluşturacaksanız (ön ve arka uçtan çıkacaksanız), muhtemelen bir veritabanı sorgulama dili (genellikle SQL) bilmeniz gerekir. Örneğin, Flappy Bird gibi bir veritabanıyla etkileşim kurması gerekmeyen bir şey oluşturmadığınız sürece.

Dahası, bir web uygulaması oluşturmak istiyorsanız, geliştirme ortamınızı / sunucunuzu kurabilmek ve uygulamayı gerçekten başlatabilmek için bazı temel DevOps’ları bilmeniz gerekir.

Yalnızca bir ön uç web geliştiricisi olmayı hedefliyorsanız, HTML, CSS ve JavaScript becerilerinizi Codepen veya JSfiddle’da geliştirebilirsiniz. Yalnızca JavaScript biliyorsanız ve başka bir dil öğrenmek istemiyorsanız, arka uç geliştirme için bir JavaScript platformu olduğu için Node.js’yi deneyebilirsiniz (JavaScript’i de temel aldığı için veritabanınız olarak MongoDB’yi de kullanabilirsiniz.)

Aksi takdirde, eksiksiz bir web uygulaması oluşturmak istiyorsanız aşağıdaki dillerden birini (ve genellikle bir web çerçevesini) bilmeniz gerekir:

  • Ruby
  • Python
  • PHP
  • Java
  • Go
  • C#

Oyun kurmak istiyorsanız, Lua öğrenmeyi düşünebilirsiniz, ancak C#’da Unity 3D oyun motoru ve devasa topluluğu sayesinde çok iyi bir seçimdir. Yerel mobil uygulama geliştirmeye gelince, iOS geliştirme için Swift / Objective-C ve Android geliştirme için Java bilmeniz gerekir.

Daha fazla uzatmadan, bir uygulamayı sıfırdan nasıl oluşturacağınıza bakalım.

 

Adım 0: Kendinizi Anlayın
İlk ve en önemlisi, tutkulu olduğunuz bir şey oluşturun. İlgi, kendinizi motive etmenin en iyi yoludur, bu yüzden kendinize neye önem verdiğinizi veya ne yapmaktan hoşlandığınızı sorun.

Örneğin:

  • En çok hangi uygulamaları kullanmaktan hoşlanırsınız?
  • Hangi uygulamaları olmadan yaşayamazsınız?
  • Oyun oynamayı sever misin?
  • Bir şeyler tasarlamaktan hoşlanıyor musunuz?

Vb. İlgi alanlarınızı belirleyin, böylece eğleneceğiniz bir şey üzerinde çalışabilirsiniz. Bu şekilde, dışarı çıkıp yarı yolda vazgeçme olasılığınız daha düşüktür.

 

Adım 1: Bir Fikir Seçin
Artık umarım çözdüğünüze göre, inşa etmek için bir fikir seçme zamanı. Basit başlayın.

Evet… bir oyun inşa etmeyi düşünüyor olsanız bile, şu anda bir sonraki CounterStrike’ı oluşturmayı düşünmemelisiniz, bunun yerine meşhur Flappy Bird kadar basit oyunları nasıl inşa edeceğinizi düşünmelisiniz. Hey, Flappy Bird’e bakma, dünyanın her yerindeki insanların iç mazoşistlerini keşfetmelerini sağlayan bir sansasyondu. Ama konuţuyorum.

Yani, ilgi alanlarınıza dayanarak, düzgün bir şey yapacak basit bir uygulama için bir fikir bulmak. Uygulamanın zaten var olması önemli değil (aslında benzer projeler zaten varsa size yardımcı olabilir).

İlham almanıza yardımcı olacak bazı işaretçiler:

  • Yemek yapmayı seviyorsanız, belki de insanların ev yapımı tariflerini sergilemesi için bir uygulama oluşturmayı düşünebilirsiniz.
  • Her zaman Twitter’ın nasıl çalıştığını bilmek istiyorsanız, süper basit bir Twitter klonu oluşturmayı deneyin.
  • Görev yöneticilerine güvenen unutkan biriyseniz, kendiniz bir tane kurmayı deneyin.
  • League of Legends’a bağımlıysanız, Riot’un API’sını incelemeyi deneyebilir ve oyun bilgilerini alabilecek ve görüntüleyebilecek bir site oluşturabilirsiniz.
  • Kart oyunları oynamaktan hoşlanıyorsanız, basit bir tane oluşturmayı deneyin (örn. Black Jack)
  • Diyet yapıyorsanız, kalori alımınızı kaydedecek bir uygulama oluşturmayı deneyin.

 

Ve böyle devam eder. Daha fazla ilham almanız gerekiyorsa, proje fikirlerinin bir listesi. Bir yönlendirme yaptıktan sonra, bir cümleyle amacı ve varsa, bu uygulama için en önemli hedef kullanıcıları not edin.

Örneğin: başıboş hayvanları almak insanlar için bir evcil hayvan evlat edinme uygulaması.

 

Adım 2: Temel İşlevleri Tanımlayın

Uygulamanızın ne yapabilmesi gerektiğini düşünün ve onları listeleyin. Eğer bir sürü şey listelemeye son verirseniz, daha iyi bir göz atın ve bu uygulamanın GERÇEKTEN, örneğin Facebook girişinin çalışması için kendinize ihtiyacı olup olmadığını kendinize sorun. Çalışmak için GERÇEKTEN bazı bulutlara veri yüklemesi gerekiyor mu?

Harika özelliklere sahip bir rüya projesine sahip olmak harika, ancak şu anda önemli olan pek çok harika özellik ile tamamlanmış bir şey inşa etmek değil. Hiçbir uygulamanın tamamlanmadığını ve her şeyin basit başladığını unutmayın.

Hepsi bir arada aygıtın uygulamasını oluşturmayı asla denemeyin. Oraya gitme. Profesyonel bir ortamda bile olduğunu gördüm ve sonuç çok fazla acı ve az ilerleme.

Demir bir iradeye sahip olmadığınız veya zorlukları gerçekten sevmedikçe, ilk projenizin inşası çok zorsa hayal kırıklığına uğrarsınız ve cesaretiniz kırılır. Siz bir başlangıçtasınız… asıl mesele eğlenmek. Eğlence öğrenmenin en etkili yoludur.

Bu nedenle, yaptığınız işlevlerin listesine göz atın ve çok uzunsa, uygulamanızın çalışamayacağı işlevleri geçmeye başlayın.

Unutmayın, bu sürüm 1 ve sadece basit tutmak gerekir. Uygulamanın yapması gereken her şeyi gerçekleştirmesine izin verecek şeylere odaklanın; diğer her şey farklı bir proje için bırakılabilir.

 

Bir Reddit klonu için örnek bir çekirdek işlev listesi için:

  • kullanıcılar bir hesap oluşturabilir
  • kullanıcılar kayıp şifreleri alabilir
  • kullanıcılar şifrelerini değiştirebilir
  • kullanıcılar yeni linkler gönderebilir
  • kullanıcılar bağlantılar hakkında yorum yapabilir
  • kullanıcılar bağlantıları yukarı / aşağı oylayabilir
  • kullanıcıların geçmişlerini / etkinliklerini gösteren bir profili vardır

Yukarıda listelenen özellikler, önce odaklanmanız gereken temel işlevlerdir.

 

Gibi diğer özellikler:

  • kullanıcılar sosyal medyada paylaşabilir
  • kullanıcılar yorumları silebilir
  • kullanıcılar yorumları düzenleyebilir
  • kullanıcılar kendi hesaplarını silebilir

İkincil durumdadır ve sürüm 1.x için kaydedilebilir; bunlar yalnızca sürüm 1.0’ı gerçekten başlatabildiğinizde çalışın.

 

3. Adım: Uygulamanızı Eskizleyin

Kalem ve kağıttan daha hızlı bir şey yoktur. Şimdiye kadar, uygulamanızın ne yapması gerektiği konusunda oldukça sağlam bir fikriniz olmalı, bu nedenle uygulamanızın kullanıcı arayüzünün (kullanıcı arayüzü) tel çerçevesini çizin. Düğmelerin nerede bulunması gerektiği, bu düğmenin amacının ne olduğu vb.

Notları yazın ve uygulamanın nasıl çalışması gerektiğini belirtin. Hala beyin fırtınası aşamasındasınız, bu yüzden biraz memnun kalana kadar işleri değiştirin.

Unutmayın, işleri basit tutun. Listenizi 2. adımdan kısalttıysanız, yalnızca burada listelenen eskiz işlevlerine sadık kalın; taşınmayın. Kendinize yardımcı olamıyorsanız, 2 sürüm çizin: temel bir sürüm ve hayallerinizdeki son sürüm.

Sonuçta, bu son görünüm değil, sadece uygulamanızın daha sıkı bir kavrayışını elde etmenize yardımcı olacak bir adımdır.

 

4. Adım: Uygulamanızın UI Akışını Planlayın

Pekala. Uygulamanızın nasıl görüneceği, her öğenin ne yapması gerektiği ve kullanıcıların uygulamanızla nasıl etkileşime girebileceği konusunda iyi bir fikriniz var. Şimdi uygulamanızın kullanıcı arayüzü akışını bulmanın zamanı geldi. Yani, bir kullanıcının uygulamanızı baştan sona nasıl kullanması gerekir. Atmaları gereken her adımı ve karşılaşabilecekleri her senaryoyu planlayın. Her kullanım durumunu düşünmeye çalışın.

 

 

Kullanıcılarınızın akış şemasına yapabileceği tüm işlemleri ekleyin. Örneğin, uygulamanız kullanıcıların giriş yapmasını gerektiriyorsa nasıl hesap oluştururlar? Kullanıcılar şifrelerini unutursa ne olur? Ya yanlış şifreyi girdiyseler? Kullanıcı her arabirimde ne yapabilir (yeni liste öğesi ekle> kaydet; düzenle> kaydet / sil)? Böylece, böyle devam edin. Bu, bir kalem ve kağıtla en hızlı şekilde yapılır.

Yine, uygulamanız oldukça basit olduğundan, diyagramınız çok büyük olmamalıdır.

 

Adım 5: Veritabanını Tasarlama

Tamam! Olası her senaryoyu planladıktan sonra, ne tür verileri tutmanız gerektiğini belirlemek için bu senaryoyu inceleyin. Örneğin, uygulamanız kullanıcıların bir hesap oluşturmasını gerektiriyorsa, hesap oluşturulduğunda kullanıcı adı, kullanıcı kimliği, kullanıcının e-postası, şifre, kullanıcının e-postasının onaylanıp onaylanmadığı gibi şeyleri de takip etmeniz gerekir. kullanıcı uygulamanızda her oturum açtığında olduğu gibi.

Bir Twitter klonu oluşturuyorsanız, tweet’in kimliğini, tweet’in içeriğini, tweet’in ne zaman yayınlandığını / retweetlendiğini, kaç retweet’in olduğunu ve kaç yıldıza sahip olduğunu bilmeniz gerekir. Ayrıca bir kullanıcının retweet ve yıldızlarının kaydını tutmanız gerekir.

Veri ilişkisini haritalamak için bir ERM (Varlık-İlişki Modeli) diyagramı çizebilirsiniz.

 

 

Gelişmiş
Planladığınız uygulama bir sunucuyla etkileşime girecekse (örn. Fullstack web uygulaması oluşturuyorsanız) veya uygulamanız bir API ile etkileşime girecekse (örneğin Yahoo! Weather’dan bilgi almaya çalışıyorsanız) ), işlemlerin nasıl çalışması gerektiği konusunda daha iyi bir fikir edinebilmeniz için muhtemelen bir dizi diyagramı çizmeniz iyi olur.

 

 

Adım 6: UX Tel Çerçeveleri
Tamam, arka ucu planladın. Şimdi, ön ucunuzu planlamanın zamanı geldi.

Umarım yukarıdaki köleler kadar heyecanlısınızdır. Neye ihtiyacınız olduğunu biliyorsunuz; artık uygulamanızın nasıl görünmesi gerektiği konusunda çok daha iyi bir fikriniz var.

 

 

İnsanlar çoğunlukla görsel yaratıklar olduğundan, kodlayacağınız her görüşün bir görseli varsa ne yapmanız gerektiğini anlamak için daha iyi bir zamanınız olur. Ancak, benden hoşlanıyorsanız ve çiziminiz çok dağınıksa,… öksürük başyapıtının… yarattığınız belirsiz parçasını neredeyse anlayamazsınız, yarattığınız sanatsal zavallı beyinlerinizi kötüye kullanarak bu adıma devam etmek doğal olarak mantıksızdır.

Neyse ki, UX / UI akışınızı planlamanıza yardımcı olmak için çevrimiçi olarak birçok tel çerçeve ve mockup aracı bulunmaktadır (örn. Gliffy, Mockflow, Framebox, Wireframe.cc, Invisionapp).

 

Adım 6.5 (İsteğe bağlı): Kullanıcı arayüzünü tasarlama

Bu isteğe bağlı bir adımdır, ancak ön uç geliştirme konusunda uzmanlaşmak istiyorsanız veya uygulamanızın daha güzel bir uygulamanın sizi kodlamak için motive edeceği noktaya çok benzeyeceğini düşünüyorsanız, kesinlikle devam edin ve tasarım yapın böylece tüm bu tel kafes UI öğeleri daha hoş görünümlü olanlarla değiştirilebilir.

Tasarım yapmayı seviyorsanız, muhtemelen yine de başlamadan önce uygulamayı tasarlayacaksınız – belki de 2. adımda zaten tasarladınız.

Tasarım yapmaz ancak uygulamanızın nasıl görüneceğine önem veriyorsanız, kullanıcı arayüzü kitlerindeki öğeleri kullanmayı düşünün.

Ancak, uygulamanın görünümüne fazla takılmayın. Şu anda bunun yerine bir uygulamanın işlevlerini oluşturmaya odaklanmalısınız.

 

Adım 7: Çözümleri Araştırma

Harika! Planlama aşamasını tamamladınız… ama tüm bunları nasıl kodlamanız gerekiyor?

Bir programcı olarak öğrenmeniz gereken önemli bir beceri, başka bir geliştiricinin yazdığı bir şeyi ne zaman kullanmanız gerektiğini ve işlevi ne zaman kendiniz oluşturacağınızı değerlendirmektir.

Herkes benzersiz bir uygulama oluşturduğundan, her kullanım durumu aynı değildir. Bu nedenle, mevcut bir çözümü ne zaman kullanacağınızı ve kendi çözümünüzü ne zaman oluşturacağınıza karar vermelisiniz ve bunu deneyimle daha iyi hale getireceksiniz.

Geniş bir okyanusta kaybolan yönsüz bir tekne gibi hissediyorsanız, derin bir nefes alın ve panik yapmayın. Bunu yapabilirsiniz.

Araştırma, “Google-fu” nuzu geliştirme ve bir şeyler oluşturma konusunda daha fazla deneyim kazandıkça, sonunda bu sürecin bir askıya alınmasını elde edersiniz.

 

Çözümlere Bakış

Çizdiğiniz tüm diyagramlara ve 2. adımda yaptığınız işlev listesine göz atın.

Nasıl inşa edeceğiniz hakkında hiçbir fikriniz olmayan bazı şeyler nelerdir?

Örneğin, kullanıcıların bir hesap oluşturması gerekiyor mu? Uygulamanız gerçek zamanlı güncellemelere mi dayanıyor? Hangi işlevlere ihtiyacınız var?

Çoğu zaman, gerçek zamanlı senkronizasyonu (ör. Firebase), ağ oluşturma / yönlendirme (örn. İOS uygulamaları için AFNetworking), kimlik doğrulama ve UI ile ilgili bileşenler (ör. Gibi) gibi büyük işlevler için mevcut bir çözümü kullanmak iyi bir fikirdir. flipboard veya pinterest-esque uygulaması).

Arka uçla ilgili bileşenleri / paketleri / mücevherleri vb. Aramanız için birçok çevrimiçi veritabanı vardır, ancak diğer insanların yazdıklarını değerlendirirken dikkatli olmanız gerekir; bunları körü körüne kullanmayın. Umarım şu anda çok karmaşık bir şey inşa etmeyeceksiniz, bu yüzden şu anda muhtemelen diğer insanların yazdığı bileşenlere ihtiyacınız olmayacak.

Her halükarda, başlamak için en iyi yol, diğer geliştiricilerin sizden önce neler yaptığını incelemek ve kararlarının ardındaki mantığı öğrenmek. GitHub en iyi arkadaşın.

Deneyimli bir geliştiricinin belirli bir işlevle ilgili araştırma sürecinin gerçek bir örneği için, Angular-Plunker’ın yaratıcısının Plunker’ın sürükle ve bırak yönergelerini nasıl oluşturduğu hakkında bu gönderiye göz atabilirsiniz.

 

Başlamak için Araç Seçme

Bir web uygulaması oluşturuyorsanız, Yeoman’ı kontrol ederek projenizin yapısını kurmanıza yardımcı olarak yeni projelere hızlı bir şekilde başlamanıza yardımcı olmayı amaçlayabilirsiniz. Bir web uygulaması oluşturuyorsanız, Yeoman’ı kontrol ederek projenizin yapısını oluşturmanıza yardımcı olarak yeni projelere hızlı bir şekilde başlamanıza yardımcı olmayı amaçlayabilirsiniz.

Bir React uygulaması oluşturuyorsanız, başlangıç kitlerini ve mevcut Flux uygulamalarını da kontrol edebilirsiniz. HTML5Boilerplate ve Bootstrap, uygulamanız için popüler ön uç şablonlardır. Sıklıkla, kazan plakaları görev yönetimi için Gulp veya Grunt kullanır.

Bazı mevcut bileşenleri veya çözümleri kullanacağınız için, bağımlılık yönetimi için de bower yüklemeniz gerekir (iOS geliştiricileri için Node.js ve CocoaPods kullanan kullanıcılar için npm). Endişelenmeyin, çoğu zaman bu araçlar size bunları nasıl kuracağınızı öğretecek öğreticilerle birlikte gelir.

 

8. Adım: Uygulamayı Oluşturma

Evet! Şimdi uygulamayı oluşturmaya hazırsınız! Uygulamanızı oluştururken aklınızda bulundurmanız gereken bazı ipuçları.

 

Kontrol Listesi

 

Uygulama işlevini işleve göre oluşturmaya odaklanmalısınız. Dolayısıyla, yorum sistemi gibi bir görevi tamamlamadıysanız aniden bir kullanıcı profili görünümü oluşturmaya başlamayın. Başka bir deyişle, bir form oluşturuyorsanız, işlev tamamlanıncaya kadar hem ön hem de arka uç kodu üzerinde çalışmalısınız.

Sonuç olarak, ilerlemenizi takip etmek için, yapılacaklar listesi yazıp kontrol listesi olarak kullanabilirsiniz.

 

Önce Testleri Yaz

Bir oyun uygulaması oluşturmadığınız sürece, özelliği gerçekten kodlamaya başlamadan önce işleviniz için bir test yazmak iyi bir fikirdir. Hatalar kaçınılmazdır, ancak test hatalarınızı ve buggy kodunu üretime sokma şansınızı büyük ölçüde azaltacaktır.

Kabul edilirse, yazma birimi testleri zaman alır ve bazen buna değip değmeyeceğini sorgulayabilirsiniz.

Bu nedenle, özellikle yeni başladığınız ve basit bir şey oluşturduğunuz için, küçük başlamak ve Test Odaklı Geliştirme (TDD) yapma alışkanlığına girmek iyi bir fikirdir.

Artık bir proje yöneticisinin dirgeniyle arkanıza yaslanmadınız, değil mi?

Birim sınama düzenleriyle ilgili ipuçları için bu makaleye göz atabilirsiniz. Akılda tutulması gereken bir başka ipucu da çok fazla önemsizliği öne sürmekten kaçınmaktır.

JavaScript için Jasmine veya Karma, Ruby için Rspec, Python için PyTest, PHP için PHPUnit, iOS geliştirme için xCTest’e alternatif olarak Hızlı veya sizin için işe yarayacak herhangi bir araç gibi birçok test aracı arasından seçim yapabilirsiniz. .

Ayrıca, bir iOS veya Android uygulaması oluşturuyorsanız, Crashlytics’e göz atmak iyi bir fikirdir.

 

Git Kullan

Git, bir sürüm kontrol sistemi ve tam geçmiş ve tam sürüm izleme özelliklerine sahip tam teşekküllü bir depodur. İlk uygulamanızı oluştururken Git’in nasıl kullanılacağını öğrenmeye başlamak iyi bir fikirdir. Bu şekilde, hatalarınızı kolayca geri alabilir, kayıp verileri kurtarabilir ve daha fazlasını yapabilirsiniz. Ayrıca, gelecekte bir geliştirici ekibiyle çalışmayı planlıyorsanız, yine de git’i kullanmanız gerekecektir. GitHub, açık kaynak projeleri için en popüler Git depo barındırma hizmetidir, Bitbucket ise özel depolar içindir.

Git’i kullanırken sorun yaşarsanız, En Yaygın 10 Git Sorunu ve Bu Sorunların Çözümü ile ilgili bu yazı size yardımcı olabilir.

 

Sıkışırsanız…

Yeni başlayan bir kişi olarak, bu hamsterdan daha sık hissetmeyeceksiniz.

Yalnız değilsin. Bazen, tüm yapmanız gereken bir mola verin ve sorunun kaynaşmasına izin verin, böylece zihninizi temizleyebilirsiniz.

 

Bu hala işe yaramazsa, kendinizi açmanın bazı yolları şunlardır:

Google

7. adımda Google-fu’dan bahsettim, ancak Google’a nasıl bağlanacağını öğrenmenin tüm programcıların edinmesi gereken önemli bir beceri olduğunu vurgulayayım. Bir hataya takılırsanız veya kodunuzun neden çalışmadığını bilmiyorsanız, Google için iyi bir fikirdir.

 

StackOverflow’da sor

Muhtemelen google sonuçlarınızın StackOverflow’daki soruları ve yanıtlarını göstereceğini fark etmişsinizdir. Kıçını kapattıktan sonra sorununa hala bir çözüm bulamazsan, StackOverflow’da bir soru göndermeyi deneyebilirsin.

Araştırmanızı sorunuzda yaptığınızı göstermeyi unutmayın; bu şekilde bir yanıt alma olasılığınız daha yüksektir.

 

Alternatif: Bir Mentor Bulun

Bazı insanlar StackOverflow’un başlangıç dostu olmadığını söyleyecektir, çünkü yeni başlayanlar sorularını nasıl ifade edeceklerini bilmiyorlar. Peki ya probleminizin ne olduğunu bile bilmiyorsanız?

Headdesking’in eşiğine gelirseniz (veya zaten headdesking’iniz varsa), alnınızı kötüye kullanmak zorunda kalmazsınız (başınıza yeterince sert vurursanız, braincellleri kaybedersiniz).

Gelişiminizi ve öğrenme sürecinizi kolaylaştırmak için harika bir alternatif, deneyimli bir programcıdan yardım almaktır. Bir şekilde aptalmış gibi hissetmenize gerek yok çünkü X kişisi ünlü bir uzman ve kendi kendini yetiştirmiş bir programcı. İnsanlar basitçe farklı öğrenirler ve yeni başlayanlar kişisel rehberlikten yararlanır, çünkü şu anda çok önemli olmayan ama aslında kötü bir uygulama olan hatalar yapıyor olabilirsiniz.

Unutmayın, o zamanlar kendi kendini yetiştirmiş birçok geliştirici, şu anda kullanabileceğiniz hizmetlere sahip değildi.

 

Son İpucu

Programcılar her zaman hata yaparlar, bu nedenle yazdığınız bir testi bile geçemediğinizde veya sürekli kendi başınıza taktığınız zaman cesaretiniz kırılmaz. Yani, iOS9, Android Lollipop veya kullanmayı sevdiğiniz bazı uygulamaları düşünün. Tabii ki en olgun uygulamalar bile hala hatalara sahip, bu yüzden orada en mükemmel, hatasız uygulamayı oluşturabileceğinizi varsaymayın (elbette, bu kendiniz için düşük standartlar belirlemeniz gerektiği anlamına gelmez – her zaman kaliteli uygulamalar oluşturmaya çalışın).

Buna ek olarak, bir şeye saatler hatta günler geçirmeniz ve istediğiniz gibi çalışmasını sağlamakta zorlanmanız çok yaygındır. Yeni özellikleri hızlı bir şekilde programlamak kolay olsaydı, dünyanın yeni programcılara ihtiyacı olmazdı. Cehennem, şu anda muhtemelen kusursuz bir iOS100 kullanıyorduk ve Matrix’teki gibi dijitalleştirilmiş bir dünya inşa ederdik.

Böylece, çoğu zaman insanlar sizi bir şeyler inşa etmeye başlamaya teşvik ettiğinde “hata yapma” terimini duyarsınız. Öyle demek istiyorlar. Bir programcı olarak kabul etmeniz gereken bir şey, özellikleri bir çırpıda canlandırabilecek bir badass kodlama makinesi olmayacağınızdır. Çok başarısız olacaksınız ve sorun değil.

Yine, bir acemi olduğunuzu hatırlayın, bu yüzden başlangıçta birçok şey kaçınılmaz olarak zor olacak. Basit olması gerektiğini düşündüğünüz bir şeye çok zaman harcayacaksınız ve zor bir yokuş yukarı mücadele gibi görünecektir, ancak daha fazla deneyim kazandıkça işler daha kolay olacaktır. Sonunda ilk uygulamanızı oluşturmayı başardığınızda bu başarı duygusunu dört gözle bekleyin ve uygun görürseniz uygulamanızı satmayı bile düşünebilirsiniz.

Doğucan Güler

Yazar

Doğucan Güler

Ege Üniversitesi Grafik Tasarımı Bölümünden Mezun Olduktan Sonra İş Hayatıma, Marka İletişimi Ve Pazarlama Desteği Sunmak Adına Birçok Firma İle Tanıştım. Daha İyi Görsel İletişim Anlayışı Ve Kalite Düzeyi Arttırılmış Ürünler Ve Reklamlarını Tasarlamaya Devam Ediyorum.

Yorum bırak

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir