Standartları ve satır uzunluğu Kodlama [kapalı]

14 Cevap php

Gördüğüm her kodlama standart bir çizgi karakter sayısı bir tavsiye ya da mutlak bir sınırı vardır. Orada bu sınırlama içinde çalışma çeşitli yolları vardır, ama ben bu konuda herhangi bir özel rehberlik görmedim.

Mümkünse Açıkçası, aşırı uzun satırları yazmak yok.

Ama bu ne pratik değilse? Ne uzun hatlar ele alınmalıdır?

İşte birkaç örnek vardır

if ($Stmt = $Mysqli->prepare("SELECT colveya, pattern, size,
                              manufacturer, mfgSku, stveyaeLocation,
                              aisle, status
                              FROM tblItems WHERE ourSku = ?")) {

veya

$flavveyas = array ('chocolate', 'strawberry', 'vanilla', 'cookie dough', 
                  'chocolate chip', 'mint chocolate chip', 'rocky road',
                  'peach', 'fudge brownie', 'coffee', 'mocha chip');

veya

$Stmt->bind_result( $this->_firstName,
                    $this->_lastName,
                    $this->_BillToAddress->address1,
                    $this->_BillToAddress->address2,
                    $this->_BillToAddress->city,
                    $this->_BillToAddress->state,
                    $this->_BillToAddress->zip,
                    $this->_BillToAddress->country,
                    $this->_email,
                    $this->_status,
                    $this->_primaryPhone,
                    $this->_mobilePhone );

In each of these examples, the indenting of lengthy code is different. Is there a better veya mveyae "standard" way of doing this? Should extra lines always be indented the same way. Or is this OK?

14 Cevap

Her örnekte görebileceğiniz bir model vardır - onlar fonksiyonun ilk parametresine girintili. Bu dikey yatay verileri uyumlaştıran ve sütunları kolay okunmasına olanak olarak takip etmek iyi bir standarttır.

Böyle uzun hesaplamaları gibi diğer hat uzunluğu sorunları, için, tercih edilen yöntem, onu yıkmak için. Julian tarihi hesaplamak, paskalya veya birkaç adımda yerine uzun bir hesaplama yapılır.

Benim kişisel tercihi şudur;

$Stmt->bind_result(
    $this->_firstName,
    $this->_lastName,
    $this->_BillToAddress->address1,
    $this->_BillToAddress->address2,
    $this->_BillToAddress->city,
    $this->_BillToAddress->state,
    $this->_BillToAddress->zip,
    $this->_BillToAddress->country,
    $this->_email,
    $this->_status,
    $this->_primaryPhone,
    $this->_mobilePhone 
);

Bu şekilde ayraç ve yarı-kolon açma çağrısı olarak aynı girinti vardır. Tüm dillerin destek olsa yöntem çağrısı başka bir hat üzerinde gözle görülür parametreleri sahip değil ...

Bağlam seçtiğiniz hangisi belirler. Sonuçta bir insan tarafından okunacak kod yazıyoruz. Bir kod bloğu girinti farklı daha kolay okunmasını sağlamak istiyorsanız o zaman bunu.

3 numara. Tek satırda bunu yapamıyorsanız, madde başına bir satırda, başka bir şey hattında ilk sonra öğeleri bulanıklaştırıyor ve okumak için korkunç bunu. Tutarlı girinti çok önemli.

FWIW, bu çoğu programcı yüksek çözünürlükte çift monitör olması gereken bir gün ve yaş eski şapka olduğunu düşünüyorum. Oldukça mutlu bir satır olabilir gibi ilk örnek görünüyor.

Kendimi SQL bir sürü iş yaparken içine hafifletilmesi bulundu alışılmadık bir girinti tarzı vardı;

INSERT INTO someTable
(
    id,
    name,
    age,
    address1,
    address2,
)
VALUES
(
    2,
    'Bob'
    25,
    '12 Fake Street',
    'The Moon'
)

Ben aslında uzun parametre listeleri için başka bir düzen daha okumak çok daha kolay bulabilirsiniz.

Ben kimse kasten uzun çizgiler olması gerektiğini sanmıyorum ama, birçok kusurlu riski, o hat uzunluğu gerçekten artık o kadar önemli değil öneririz.

Vim ve emacs oldukça iyi uzun satırları işlemek, ve hemen hemen her Unix kutu yüklü ediyoruz. Windows üzerinde, hemen hemen her zaman bir GUI metin editörü içinde olacak. Ben senin $Stmt->bind_result tarzı okumak kolay olduğunu düşünüyorsunuz, ama sadece tek bir deyim çoğunlukla statik bilgiler bir sürü yük gerekirse, ben 1000 karakter hattı ile bir sorunum yok.

Bu çok parantez konumu ve diğer kodlama-stilleri gibi, gerçekten çok özneldir. Ana şey seçtiğiniz hangi stilin çok fazla değil, ama bir stil seçin yapmak ve proje boyunca ona sadık olduğunu.

Şahsen benim için, bir Python arka plandan geliyor, ben 79 çizgi uzunluğu kullanın ve

$flavors = array ('chocolate', 'strawberry', 'vanilla', 'cookie dough', 
                  'chocolate chip', 'mint chocolate chip', 'rocky road',
                  'peach', 'fudge brownie', 'coffee', 'mocha chip');

tarzı.

Ama dediğim gibi, benim görüşüme göre, bir tarzı var, yerine hangi biri hakkında endişe daha önemli.

İkiden fazla öğe sarma ediyorsanız, ben üçüncü örnekte olduğu gibi her öğe için yeni bir satır tercih ederim. Bu satıra sadece bir öğe varsa otomatik kaynak kontrol araçları diğer insanlardan düzenlemeleri birleştirmek için daha kolay.

Çevredeki kod tarafından kullanılan standart izleyin. "Ne kadar olursa olsun standart '" daha iyi "kendi oluşturmak etmeyin.

Bunu söylemek zor olacağı gibi, herhangi bir standart farkında değilim. Bize büyük monitörlerde olanlar için, biz daha küçük monitörlerde diğerlerinden daha yatay kodunu görüntüleyebilirsiniz. Gerektiği zaman ben genelde. = (PHP) ile sırayla uzun dizeleri inşa etmeye çalışın, ve kod gösterdiği gibi o özel hat var kaç karakter bağlı olarak yeni satıra keyfi uzun diziler ayrıldı.

Ben (satır başına 1 adet) çok fazla seçeneği 3 umursamıyorum. Ayrıca, şahsen, ben hep wordwrapping kullanın, böylece tek bir satırda kodu olan beni hiç rahatsız etmez. Ancak, ikinci örnekte, üzerinde wordwrapping ile bu wordwrapping kullanmak yapmak programcılar için bir karmaşa gibi görünebilir. Belki uzun satırları umursamıyorum küçük bir grup duyuyorum.

En iyi uygulama genellikle hat uzunluğu kısıtlaması kendisinin arkasından amaçlar kaynaklanıyor:

  • (Vb programcılar, düzenleme yazılımı arasında) birlikte çalışabilirliği artırmak
  • Okunabilirliği ve anlamayı artırmak için
  • Keyfi ve kalkınma hızını artırmak için
  • Gelirlerini ve karlarını artırmak için

Onlar kendi geleceği anlama ve ekibi başkalarının hem de katkıda eğer Böylece, bu tür tüm deyim parametreleri hizalama gibi seçenekler, iyi.

Bu yardımcı olur umarım ;)-M

Bunların hiçbiri benim kendi kod bazıları geldi gibi görünüyor ilk kötü ... ;-) olduğunu.:

if ($Stmt = $Mysqli->prepare(
            "SELECT color, pattern, size,
                    manufacturer, mfgSku, storeLocation,
                    aisle, status
             FROM tblItems 
             WHERE ourSku = ?")) {

Bir yapılandırma dosyası veya tabloya yüklü olsaydı İkinci örnek daha iyi olabilir.

Üçüncü gayet iyi, ama bir o kadar biraz sıkın olabilir:

$Stmt->bind_result( 
   $this->_firstName,
   $this->_lastName,
   $this->_BillToAddress->address1,
   $this->_BillToAddress->address2,
   $this->_BillToAddress->city,
   $this->_BillToAddress->state,
   $this->_BillToAddress->zip,
   $this->_BillToAddress->country,
   $this->_email,
   $this->_status,
   $this->_primaryPhone,
   $this->_mobilePhone 
);

Düzyazı, 80 kadar daha uzun hatlar okumak zor olduğu gösterilmiştir. 60 veya daha az bile iyi olurdu. Ben kod daha şiir gibi ve bu yüzden satır hatta mümkünse daha kısa olması gerektiğini düşünüyorum. Ama muhtemelen endişesi zaman büyük miktarda harcama değmez.