• 15-08-2012, 22:55:10
    #1
    Merhabalar.

    Daha önce blogum için bu öğretici yazıyı hazırlamıştım. Biraz derleyip forum için uygun hale getirdim ve yayınlamaya karar verdim.

    Kod Yazma Prensipleri ? Nedir ?

    Öncelikle herhangi bir grafik programında hazırlanmış olan bir arayüzü, tarayıcı diline uygun hale getirmek için belirli standartlar kullanabiliriz.

    Bu standartlar sayesinde daha iyi ve sağlıklı kodlar yazarız. Projeye daha sonradan gelecek geliştirici, bu taslak çalışma üstünde çalışabilir ve hızlı şekilde düzenleme yapmaya başlayabilir.

    Fakat siz kod yazmayı bilmiyorsanız, bu iş feci şekilde bozulur. Kodlarınızı kimse okuyamaz ve yaptığınız iş bir daha geliştirilemez.

    O yüzden her arayüz geliştirici kendine bir standart kod yazma tekniği oluşturmalıdır.



    Faydası Nedir

    Profesyonel anlamda bu tarz teknikler kullanılmaktadır. Hiçbir yorum satırının olmadığı css'ler oluşturmanızı tavsiye etmiyorum. Eğer şuan hobi olarak geliştirme yapıyorsanız, acilen kod yazma tekniğinizi geliştirmeniz gerekmektedir.

    1-) Renk ve Tipografi
    Öncelikle stilimizi yaratmadan önce arayüzde sıklıkla kullanacağımız, renkleri ve tipografimizi yorum satırımıza almamız bize fayda sağlayacaktır.


    /*------------------------------------------------------------------
    # [Color codes]
     
    # Dark grey (text): #333333
    # Dark Blue (headings, links) #000066
    # Mid Blue (header) #333399
    # Light blue (top navigation) #CCCCFF
    # Mid grey: #666666
    # */
     
    /*------------------------------------------------------------------
    [Typography]
     
    Body copy:		1.2em/1.6em Verdana, Helvetica, Arial, Geneva, sans-serif;
    Headers:		2.7em/1.3em Helvetica, Arial, "Lucida Sans Unicode", Verdana, sans-serif;
    Input, textarea:	1.1em Helvetica, Verdana, Geneva, Arial, sans-serif;
    Sidebar heading:	1.5em Helvetica, Trebuchet MS, Arial, sans-serif;
     
    Notes:	decreasing heading by 0.4em with every subsequent heading level
    -------------------------------------------------------------------*/
    2-)İçindekiler Sayfası Tarzında Index Hazırlama
    Kodumuzun yapısını ileride daha hızlı anlayabilmek ve daha hızlı müdahale yapabilmek için bu tarzda bir index oluşturmalıyız. Burada ileride kullanmak isteyeceğimiz anahtar kelimeler belirleyebiliriz. Böylece ileride kodlar arasında daha hızlı bir tarama yapabilir ve daha düzenli kodlama yapabiliriz.


    /*------------------------------------------------------------------
    [Table of contents]
     
    1. Body
    	2. Header / #header
    		2.1. Navigation / #navbar
    	3. Content / #content
    		3.1. Left column / #leftcolumn
    		3.2. Right column / #rightcolumn
    		3.3. Sidebar / #sidebar
    			3.3.1. RSS / #rss
    			3.3.2. Search / #search
    			3.3.3. Boxes / .box
    			3.3.4. Sideblog / #sideblog
    			3.3.5. Advertisements / .ads
    	4. Footer / #footer
    -------------------------------------------------------------------*/
    
    /*------------------------------------------------------------------
    [Table of contents]
     
    1. Body
    2. Header / #header
    3. Navigation / #navbar
    4. Content / #content
    5. Left column / #leftcolumn
    6. Right column / #rightcolumn
    7. Sidebar / #sidebar
    8. RSS / #rss
    9. Search / #search
    10. Boxes / .box
    11. Sideblog / #sideblog
    12. Advertisements / .ads
    13. Footer / #footer
    -------------------------------------------------------------------*/
    3-) Açıklama Satırları
    Kodlarımızın içinde açıklama satırı doldururken de dikkat etmemiz gereken bazı şeyler olduğunu düşünüyorum. Örneğin açıklama satırlarını derecelendirebiliriz.


    /* Basit açıklama satırı / yorum */
     
    /*
     * Grup halinde açıklama
     * Birden fazla satır açıklama içeren yorum.
     */
     
    /* ==========================================================================
       Üst seviye öneminde açıklama satırı diyebiliriz sanırım :)
       ========================================================================== */
    4-) Seçici Kullanımı
    Daha kolay okunabilmesi için bu tarz seçicileri alt alta yazmayı, ve kodların bir blok girintisi olarak kaydııılmasını öneriyorum.


    .selector-1,
    .selector-2,
    .selector-3 {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        color: #000;
        background: #fff;
    }
    Tanımlama yaparken sıralamayı alfabetik listeye göre yapabiliriz. Aradığımızda daha çabuk ulaşabiliriz fakat bir dezavantajı bulunuyor. Tanımlamalar ilişkili css özellikleri ayrılınca kodun anlamı bozulabiliyor.
    Örneğin pozition-display, width-height, padding-margin, color-background gibi birbirleri ile ilişkili özellikleri bir arada tutmak daha avantajlıda olabilir. Okuduğum makalelerde her iki yöntemide kullanıyorlar. Fakat ilişkili özellikleri bir arada tutulması öneriliyor genellikle.

    ody {
    /* Css tanimlamalarini alfabetik siraya gore yaparsak... */
    	background: #fdfdfd;
    	color: #333;
    	font-size: 1em;
    	line-height: 1.4;
    	margin: 0;
    	padding: 0;
    }
     
    /* Birbirleri ile iliskili ozellikler bir arada... */
    .selector {
        position: relative;
        display: block;
        width: 50%;
        height: 100px;
        padding: 10px;
        border: 0;
        margin: 10px;
        color: #fff
        background: #000;
    }
    Diğer Kurallar

    - Hex değeri tanımlamalarında küçük karakter kullanılmalı. #ccc , #000 gibi.
    - Seçicilerde özellileri tırnak içine almalıyız. input[type="checkbox"]
    - Mümkün olduğunca 0 değeri vermekten kaçınalım. margin: 0
    - Olabildiğince İngilizce değerler kullanılmalıdır. ana-kapsül, altin_ustu, ana, baba, kardes, kapsül gibi saçma kelimeler kullanmaya gerek yok.
    - Kısa isim vermekten kaçınmalı ve açıklayıcı olmalıyız. Örneğin .cb yerine column_body etiketini kullanabiliriz.
    - Büyük karakterlere gerek olmadığını düşünüyorum.
    - Test ve sürümlendirme için Grunt adında bir araç varmış.

    Sizlerde bu tarzda oluşturduğunuz teknikler var ise konu altında paylaşıp, bu şablonu hep birlikte geliştirebiliriz.

    Not: Makaleyi ilk olarak kişisel blogumda yazmıştım. Kaynak olarak gösterebilir, veya blog üzerinden ve forumdan konuya fayda sağlayabilirsiniz.


    [HIGH] <?php include "sayfa.php"; $asdasd ="dasda"; ?>[/HIGH]
  • 20-08-2012, 16:50:55
    #2
    Üyeliği durduruldu
    eline sağlık güzel paylaşım bu prensipler herkese göre biraz değişebilir.
    Ama sizin yazdıklarınız temel prensiplerdir. Bence herkes bu prensipleri sıks sık kullanmasın bazıları çok abartabilir sık sık yani abartarak not düşmek yarardan çok zarar verir + bide şunuda eklerseniz sevinirim id ve class isimlerini abartı şekilde uzun tutmak htmlde bize kaynak kod ısrafı olucaktır buna özen göstermek tasarımın hızlı index almasına(yani kullaıldığı web sitenin.) yol açar.
  • 20-08-2012, 17:14:28
    #3
    hackersatranc adlı üyeden alıntı: mesajı görüntüle
    eline sağlık güzel paylaşım bu prensipler herkese göre biraz değişebilir.
    Ama sizin yazdıklarınız temel prensiplerdir. Bence herkes bu prensipleri sıks sık kullanmasın bazıları çok abartabilir sık sık yani abartarak not düşmek yarardan çok zarar verir + bide şunuda eklerseniz sevinirim id ve class isimlerini abartı şekilde uzun tutmak htmlde bize kaynak kod ısrafı olucaktır buna özen göstermek tasarımın hızlı index almasına yol açar.

    Evet kısa ama anlaşılır isimler kullanmak her zaman daha iyidir. Ama anlaşılır olması bence daha önemlidir.

    Onun dışında bunun tasarımın, hızlı index alması ile alakası ne tam olarak ? Tasarım index almaz zaten, tasarım imajlardan oluşan bir topluluk tam olarak. İndex alan tarayıcı tarafında yorumlanan sayfalar.Böyle birşey olduğunu sanmıyorum veya bilmiyorum. Açıklarmısınız ?
  • 20-08-2012, 17:25:43
    #4
    Üyeliği durduruldu
    karacoder adlı üyeden alıntı: mesajı görüntüle
    Evet kısa ama anlaşılır isimler kullanmak her zaman daha iyidir. Ama anlaşılır olması bence daha önemlidir.

    Onun dışında bunun tasarımın, hızlı index alması ile alakası ne tam olarak ? Tasarım index almaz zaten, tasarım imajlardan oluşan bir topluluk tam olarak. İndex alan tarayıcı tarafında yorumlanan sayfalar.Böyle birşey olduğunu sanmıyorum veya bilmiyorum. Açıklarmısınız ?
    pardon kusura bakma yanlış yazmışım
    tasarım hızlı index alır yazmışım onun yerine şunu yazmam lazımdı ; Kaynak kodları ne kadar kısa, öz ve az olursa herhangi bir arama motorunun botu web sitesine geldiğinde siteyi karmaşa olmadan hızlı bir şekilde belleğine alır ve bir okadarda +1 değer ile web sitenin site dışı seosunuda göz önünde bulundurarak hızlı index alma olanağını artırır bunu demek istiyicektim de kısa ve öz olsun diye tasarım masarım index alır yazdım

    Bunun seocularda bilir zaten. İçerik / Kod Oranı meselesi aslında bu konu açıklık getirmek için baya uzun bir makale yazmak lazım içerik kod oranını dengelemek ve içerik oranını yüksek tutmanın google da site içi optimizasyon yönünde çok büyük yeri vardır.

    artislik yapmaya çalışmıyorum modum sakın yanlış anlama bildiklerimi aktarmaya çalışıyorum sadece. (bana gıcık kapma diye söyledim bunu )
  • 20-08-2012, 19:44:59
    #5
    hackersatranc adlı üyeden alıntı: mesajı görüntüle
    pardon kusura bakma yanlış yazmışım
    tasarım hızlı index alır yazmışım onun yerine şunu yazmam lazımdı ; Kaynak kodları ne kadar kısa, öz ve az olursa herhangi bir arama motorunun botu web sitesine geldiğinde siteyi karmaşa olmadan hızlı bir şekilde belleğine alır ve bir okadarda +1 değer ile web sitenin site dışı seosunuda göz önünde bulundurarak hızlı index alma olanağını artırır bunu demek istiyicektim de kısa ve öz olsun diye tasarım masarım index alır yazdım

    Bunun seocularda bilir zaten. İçerik / Kod Oranı meselesi aslında bu konu açıklık getirmek için baya uzun bir makale yazmak lazım içerik kod oranını dengelemek ve içerik oranını yüksek tutmanın google da site içi optimizasyon yönünde çok büyük yeri vardır.

    artislik yapmaya çalışmıyorum modum sakın yanlış anlama bildiklerimi aktarmaya çalışıyorum sadece. (bana gıcık kapma diye söyledim bunu )
    Böyle daha iyi oldu çünkü ilk mesajda insanlar yanlış bilgilenebilirdi.
    Site hızının seo ile ilişkisi konusunda http://www.seomoz.org/blog/site-spee...does-it-matter güzel bir içerik var. Bu konuyla ilgili bir blog yazısıda yazmıştım sitemde, ama wordpress ile ilgiliydi.

    Böyle şeyler söylemene gerek yok, hepimiz insanız ve herkes eşit bu forumda. Havalı ve sert şeyler yazıp, konu kilitleyen egoist yöneticiler eskide kaldı
  • 20-08-2012, 21:53:16
    #6
    Üyeliği durduruldu
    karacoder adlı üyeden alıntı: mesajı görüntüle
    Böyle şeyler söylemene gerek yok, hepimiz insanız ve herkes eşit bu forumda. Havalı ve sert şeyler yazıp, konu kilitleyen egoist yöneticiler eskide kaldı
    mesajını dağıtıyorum kullanıcılara, modları ezme zamanı geldi şaka bir yana css kategorisinin modu sensin galiba el ele verip bu kategori geliştirmek lazım hem kullanıcılara yardımcı olarak hemde bilgi paylaşarak nedersin ?
  • 20-08-2012, 23:15:13
    #7
    hackersatranc adlı üyeden alıntı: mesajı görüntüle
    mesajını dağıtıyorum kullanıcılara, modları ezme zamanı geldi şaka bir yana css kategorisinin modu sensin galiba el ele verip bu kategori geliştirmek lazım hem kullanıcılara yardımcı olarak hemde bilgi paylaşarak nedersin ?
    DB sıfırlanmadan önce her türlü bilgi paylaşıldı bu kategoride. Ama eskide kaldı, geri gelemedi maalesef.

    Bu arada yazı güzel elinize sağlık fakat kod prensipleri her insana göre değişir diye düşünüyorum. “Her yiğidin bir yoğurt yiyişi vardır” atasözümüzün cuk oturduğu yerden bahsediyorum, mesela siz column_body yazıyorsunuz, ben columnBody yazıyorum. Siz alt alta yazıyorsunuz, ben .columnBody:after { content:'Hello world!'; } şeklinde yazıyorum.

    Tekrar elinize sağlık.
  • 21-08-2012, 00:03:42
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    kanımca hiyerarşik sıralama yapın tanım yaparken örnek olarak ;
    div#wrapper #header.left{float:left;}
    daha sağlıklı oluyor.
  • 21-08-2012, 12:21:21
    #9
    hackersatranc adlı üyeden alıntı: mesajı görüntüle
    mesajını dağıtıyorum kullanıcılara, modları ezme zamanı geldi şaka bir yana css kategorisinin modu sensin galiba el ele verip bu kategori geliştirmek lazım hem kullanıcılara yardımcı olarak hemde bilgi paylaşarak nedersin ?
    Konu açmak için kimseyi tutan yok, bekliyoruz öyleyse konularınızı.

    azizarslan adlı üyeden alıntı: mesajı görüntüle
    DB sıfırlanmadan önce her türlü bilgi paylaşıldı bu kategoride. Ama eskide kaldı, geri gelemedi maalesef.

    Bu arada yazı güzel elinize sağlık fakat kod prensipleri her insana göre değişir diye düşünüyorum. “Her yiğidin bir yoğurt yiyişi vardır” atasözümüzün cuk oturduğu yerden bahsediyorum, mesela siz column_body yazıyorsunuz, ben columnBody yazıyorum. Siz alt alta yazıyorsunuz, ben .columnBody:after { content:'Hello world!'; } şeklinde yazıyorum.

    Tekrar elinize sağlık.
    Evet herkesin kod yazma teknikleri farklıdır. Ben daha çok smashing ve github üzerinde paylaşaılan stil guide sayfalarında genel olarak bahsedilen standartları derleyip bu hazıyı hazırladım.
    Çünkü forumda iş yapan bir kesim genç arkadaşlar bu işi hakkıyla yapamıyor. Tasarımda bulunan güzel fontlar patlıyor, Times New Roman'lar sırıtıyor Bir üst kalitede standarda erişmeleri gerek.

    Eklemeleriniz için teşekkür ederim.

    saintx adlı üyeden alıntı: mesajı görüntüle
    kanımca hiyerarşik sıralama yapın tanım yaparken örnek olarak ;
    div#wrapper #header.left{float:left;}
    daha sağlıklı oluyor.
    Teşekkürler.