Training
Başlarken¶
Başlamadan önce bu dokümanın tamamını inceleyiniz.
Resim: Software Development Life Cycle (SDLC)
Programlama ile ilgili akıldan çıkarılmaması gereken süreç yukarıdaki tabloda yer almaktadır. Bu, programlamanın tüm aşamalarında ve alt aşamaların kendi içinde de süregelen akıştır.
Ayrıca yazılım projelerinin yönetimi için kullanılan metodolojilerden biri olan Scrum ile ilgili fikir sahibi olmakta fayda var. Video (Sadece seyretmek için)
Öneriler¶
Bundan sonraki bölümlerde önerilen tüm kurslar bizzat uygulanarak yapılmalı ve mümkünse sonuçlar birisi ile paylaşılarak geri bildirim alınmalıdır (code review). Burada önerilen tüm kurslar ve araçlar ücretsizdir. İlk olarak, işe koyulmadan önce, başlamak istediğiniz kursların toplam süresini düşünerek bir plan yapmanız önerilir.
1. IDE / Code Editor¶
Visual Studio Code
https://code.visualstudio.com/docs/introvideos/basics
https://code.visualstudio.com/docs/getstarted/tips-and-tricks
https://flaviocopes.com/vscode/
Visual Studio Code için 6. maddedeki PHP eğitiminden önce bu kurs alınabilir.
Visual Studio Code for PHP Developers
Configuring Visual Studio Code on drupal.org
2. Devtools Pro: The Basics of Chrome Developer Tools¶
https://www.udemy.com/devtools-2017-the-basics-of-chrome-developer-tools/
3. Version Control¶
- Git and GitHub for Beginners - Crash Course (Gwen Faraday via freeCodeCamp.org)
- Git Tutorial for Beginners: Learn Git in 1 Hour ( Programming with Mosh )
- Git, GitHub, & GitHub Desktop for beginners (Coder Coder)
4. HTML, CSS, JavaScript¶
Build a Simple Website with HTML, CSS, JavaScript – Course for Beginners (Coder Coder via freeCodeCamp.org)
Bootstrap CSS Framework - Full Course for Beginners (mdbootstrap via freeCodeCamp.org)
5. freeCodeCamp¶
6. PHP¶
Bu eğitimden önce Visual Studio Code için 1. maddede de bulunan bu kurs alınabilir.
Visual Studio Code for PHP Developers
7. Drupal¶
Drupal documentation on drupal.org
Video trainings on Acquia YouTube channel:
- Drupal Training - Site Building
- Drupal Training - Layout and Theming
- Drupal Training - Module Development
Resim: Acquia Drupal Academy is closed. This is an older screenhot.
8. Recommended Resources¶
9. Time Tracking and Project Management¶
-
Zaman kaydı tutmak için https://www.getharvest.com (Kursları yaparken hangisi ve hangi bölüm için ne kadar zaman harcadığınızı kaydetmeniz için)
-
Basit proje takibi için de https://trello.com (Kendinize işler oluşturabilir ve bunları bu araç ile takip edebilirsiniz.)
10. Planning¶
Aşağıdakine benzer bir plan yapmanız önerilmektedir.
* ÖÖ (Öğleden önce) ve ÖS (Öğleden sonra)
* Kişiler kısmına ad ve soyadınızın baş harflerini yazınız. Örneğin Kasım Burak Özdemir -> KBO
11. Documentation Tools¶
- Learn Markdown Syntax
- A tool for fast documentation creation: mkdocs
mkdocs
is used to create this documentation.
- A nice course by Wes Bos: Mastering Markdown
11.1 Logic of Most Documentation Tools¶
12. Kod Kalitesi (Code Quality / Coding Standards)¶
Asla atlanmaması gereken konulardan bir kodun okunabilirliği ve bakımının kolay yapılabilmesi için yazılan kodun kalitesidir.
Bununla ilgili olarak Visual Studio Code (ve diğer modern IDE'ler) bize yeterli araçları sağlar.
Lütfen Linting konusunu araştırınız, hakkında okuyunuz ve yaptığınız çalışmalarda uygulayınız.
Lütfen değişkenlerin (variables
), fonksiyonların (functions
), sınıfların (class
) isimlendirme kuralları (naming conventions
) ile ilgili konuları da araştırınız, hakkında okuyunuz ve yaptığınız çalışmalarda uygulayınız.
Bu kodlama standardlarının, isimlendirme kurallarının PHP, CSS, JavaScript, HTML vb. için farklı farklı olabileceği de unutulmamalıdır.
Bunun yanında genel geçer yazım kuralları var olmakla birlikte her framework'ün (kullanılan framework'e bağlı olarak değişiklik gösterebilir) kendine özgü kodlama standardları (Coding Standards) olduğu / olabileceği göz önünde bulundurulmalıdır.
Bunlara ek olarak kod yazılan dosyalarda encoding
ve satır sonu (line endings
) kavramları hakkında mutlaka bilgi sahibi olunuz.
Ayrıca dosya adlarının da, çeşitli durumlarda, belirli bir naming convention
çerçevesinde verildiği atlanmamalıdır.