Nasıl daha hızlı kod yazılır?

Giriş

Selamlar, bu yazı tamamen  tecrübelerimden ortaya çıkardığım bir yazıdır.

Uzun yazılardan hoşlanmadığınızı bilerek direkt listeler halinde oluşturuyorum.

  1. Çalışmalardan önce netlik kazandırmak
    1. Mümkünse Mockup
    2. Mümkünse Wireframe çizimi
    3. Hiç biri değilse en azından el ile kağıda tüm netlik çıkartılmalı
  2. OOP Kullanarak (Mümkünse Framework)
  3. Test yazarak (Unittest, Daha doğrusu kodu yazmadan önce testini yazmak)
  4. IDE kullanarak (Önerilen: JetBrains IDE’s)
  5. Project Management Tool (Proje yönetimi aracı, Önerilen: Trello)
  6. Screenshot monitor (Veya benzeri bir Timer)
  7. Sakin müzikler

Unutmayın net olmayan şeyler sizi yolun ortasında her daim strese sokar, yavaşlatır. Projeyi her adımda netleştirin ve aynı performansı yakalamaya çalışın.

*Not: Müzik konusunda emin olmamakla birlikte bana göre önemli olan uzun süre aynı performansta çalışmaktır. Bunu da başınızı ağrıtanlarla değil sizin konsantrasyonunuzu artıran müzikler ile yapabilirsiniz.)

Nesne Yönelimli Programlama (OOP) nedir?

OOP1_am

oop

Nesne Yönelimli Programlama nedir?

İngilizce:Object Oriented Programming olarak adlandırılan ve dilimize Nesne Yönelimli Programlama adıyla çevrilen programlam anlayışı 1960’lı yılların sonunda bir gereksinim olarak çıkmıştır. Nesne Yönelimli Programlamanın çıktığı zaman programlama tekniklerinin bilgisayarların performansına ayak uydurması gerekliydi. Oysa ki günümüzde giderek etkisini yitiren yordamsal programlama adıyla yürütülen projelerde kod parçaları ayrı sayfalarda birden çok kullanılıyor ve kodların yazılımcıdan yazılımcıya değişerek karmaşıklık seviyesini artıyordu. Bu durum hem hem bilgisayarları hem de yazılım maaliyetini artıyordu.

Bilim adamları bu durumu Genetik bilimini göz önüne alarak gerçekleştirdiler. Belirli nesnelerden yeni nesneler türetip aynı genlerimiz gibi yazılım kodlamasının içerisnideki evrimi çok daha basit hale getirmeyi başardılar.

 

Viki’den alıntı: NYP ayrıca, bilgi gizleme (information hiding), veri soyutlama (data abstraction), çok biçimlilik (polymorphism) ve kalıtım (inheritance) gibi yazılımın bakımını ve aynı yazılım üzerinde birden fazla kişinin çalışmasını kolaylaştıran kavramları da yazılım literatürüne kazandırmıştır.

Tasarım şablonları

Oluşturucu Tasarım Şablonları

Teklik(Singleton) Tasarım Şablonu

Fabrika(Factory) Tasarım Şablonu

Soyut Fabrika(Abstract Factory) Tasarım Şablonu

İnşaatcı (Builder) Tasarım Şablonu

Prototip(Prototype) Tasarım Şablonu

Yapısal Tasarım Şablonları

Adaptör(Adapter) Tasarım Şablonu

Vekil(Proxy) Tasarım Şablonu

Köprü (Bridge) Tasarım Şablonu

Cephe(Façade) Tasarım Şablonu

Dekoratör (Decorator) Tasarım Şablonu

Kompozit (Composite) Tasarım Şablonu

Sinek Siklet (Flyweight) Tasarım Şablonu

Davranışsal Tasarım Şablonları

Strateji (Strategy) Tasarım Şablonu

Durum (State) Tasarım Şablonu

Yineleyici (Iterator) Tasarım Şablonu

Memento Tasarım Şablonu

Observer Tasarım Şablonu

Sorumluluk Zinciri(Chain of Responsibility) Tasarım Şablonu

Ziyaretçi(Visitor) Tasarım Şablonu

Şablon (Template) Tasarım Şablonu

Komut (Command) Tasarım Şablonu

Aracı (Mediator Tasarım Şablonu)