PHP - değişken adı veri türü dahil değer mi?

8 Cevap php

Ben bakımı ve mümkün olduğunca kolay anlaşılır olarak benim kod yazmak çalışıyorum, ve ben bir değişken adının içinde tutan veri türü de dahil düşündüm.

örn:

$intCurrentLine = 1; instead of $currentLine = 1;
$strUser = 'blah'; instead of $user = 'blah';

Ben yukarıdaki örnekte gerçekten gerekli olduğunu sanmıyorum, ama bazı durumlarda yararlı olabilir?

  • Bu benim kod daha anlaşılır hale misiniz?
  • Ben aslında bu kullanabilir ya da "normal" değişken adları ile sopa gerekir?
  • Bu kullanılan komut biliyor musunuz?

best regards, lamas

8 Cevap

Değişkenin adının türünü ekleme denir Hungarian Notation.

Böyle PHP ve VB gibi typeless dilde bir stil meselesi. Gerçek bir ihtiyaç yoktur, çünkü ben kullanmamayı tercih.

Bu konuyla ilgili iyi bir yazıdır. http://www.joelonsoftware.com/articles/Wrong.html

Ben üniversite programlama derslerinde sandığı için, ama gerçek dünyada işe yaramaz bulundu. Ben sadece değişken adı açıklayıcı yapmaya ve genellikle ne olduğunu yazın taşır. Örneğin firstName benim için dize anlamına gelir, ya da senin durumunda currentLine int demektir.

Ben sürece yeterli sizin adlandırılmasında açıklayıcı ve doğru konum olarak düşünüyorum.

Bu, kesinlikle size değişkenleri ctype veya benzeri kullanmak zorunda olmadan VeriTürü bilmek yardımcı olur.

Eğer değişkenleri gibi $userName gibi dolaylı kendi türünü tanımlamak isimlerini vermek için çalışırsanız, çok fazla sorun olmamalıdır.

Zaman kural sürece değişken kesin bir adı vardır yanı sıra türüyle açıklama gerek yok olmasıdır.

Bu hungarian notation denilen ve kötü bir uygulama olarak kabul edilir.

Robert C. Martin, "Temizlik Kanunu'nun" yazarı göre, tip kodlamaları "Onlar zor kod okunmasını sağlamak. Zor bir değişken, fonksiyon veya sınıfın adını veya türünü değiştirmek için yapmak. Ve onlar imkanı yaratmak olduğunu kodlama sistemi okuyucu yanıltmak olur. "

Bunları kullanmayın. Akıllıca değişken adlarını seçin.

Macar notasyonu bir hayranı değilim. Bu benim kişisel görüşüm ve ben bu konuda kasten subjektif değilim.

Strip out hungarian notation from a PHP file

  1. Could this make my code more understandable?
    • Hayır, faydasız
  2. Should I actually use this or stick with "normal" variable names?
    • Normal isimleri ile sopa
  3. Do you know scripts where this is used?
    • Evet, ama önemli değil

Ben bir değişkenin türü o kadar anlayış ekler sanmıyorum. Sana meaningful isimler gibi kullanmalısınız öneririz

$currentLineNumber = 1; instead of $currentLine = 1;
$userName = 'blah'; instead of $user = 'blah';

Bu durumda $currentLine Bunun ne anlama geldiğini çok net yapmasına rağmen.

Buna karşılık ben tipini eklemek bile, örneğin, değişken aslında ne yaptığını anlamak için mutlaka kolay değil $floatNumber genel $numberOfStores.

Sen yorumlarda belirtebilirsiniz.

Gibi bir şey

/*
*
* @var string
*/

$your_var = '';

Eğer iyi bir ide varsa, bu şeylerin gelip alacak :)