오픈 소스 PHP 프로젝트에 대한 많은 대중적인 표준 매뉴얼을 읽었습니다.PHP - 함수/변수 이름 지정
변수 공간에 밑줄을 많이 사용하고 camelCase를 많이 적용합니다.
전역 함수와 변수의 이름을 클래스 메서드/속성과 다르게 지정해야합니까?
나는 가장 중요한 것이 일관성이라는 것을 알고 있지만, 이것에 대한 의견을 듣고 싶습니다.
무엇을 권하고 싶습니까?
오픈 소스 PHP 프로젝트에 대한 많은 대중적인 표준 매뉴얼을 읽었습니다.PHP - 함수/변수 이름 지정
변수 공간에 밑줄을 많이 사용하고 camelCase를 많이 적용합니다.
전역 함수와 변수의 이름을 클래스 메서드/속성과 다르게 지정해야합니까?
나는 가장 중요한 것이 일관성이라는 것을 알고 있지만, 이것에 대한 의견을 듣고 싶습니다.
무엇을 권하고 싶습니까?
내가 입력하기에 약간 어색한 것을 발견했기 때문에 camelCase를 입력하는 것이 조금 더 즐겁습니다.
전역 변수를 사용하지 마십시오.
PHP에서 절차 코딩을 피하기 때문에 OOP를 사용하면 일을 정리하기가 더 쉬워집니다. 게다가, PHP는 이미 글로벌 네임 스페이스가 충분하지 않은가? Item
, , DB
, Items
:
일반적으로 나는에 충실하려고합니다. DEBUG
, TYPE_FOO
: $name
$column
:getThing()
, getThings()
)기술 (단수 또는 복수) 명사 뒤에 단수 동사 (get
, perform
, do
)로 시작 당신이 코딩하고있는 것. PHP 나 PEAR을 코딩하고 있다면 camelCase를 사용합니다. 파이썬/장고를하고 있다면 under_scores를 사용합니다. ELisp을 쓰고 있다면 대시로 구분 기호를 사용합니다.
예, 가장 중요한 것은 일관성입니다. 외톨이 개발자의 경우 방법을 고수하십시오. 팀과 함께 일하는 경우 다른 팀원과 이야기하십시오. 전역, 함수/메소드 및 클래스를 구별하면 코드를 훨씬 쉽게 읽을 수 있습니다. 어떤 사람들에게는 camelCase가 using_underlines보다 쉽기 때문에 팀이 옵션에 대해 토론하고 스타일을 선택해야합니다.
참고 : 내가 MySQL의 필드 이름을 UpperCamelCase를 사용하여 내 MySQL의 table_names을 위해 밑줄을 사용합니다 이름과 클래스 속성 변수에 대한
일반적으로 내가 사용하는 $ lowerCamelCase하지만 필드에서 값을 포함하는 경우, $ UpperCamelCase 필드 이름을 사용하거나 테이블의 데이터 배열 인 경우 $ table_name을 사용합니다. 이 방법을 사용하면 grep
을 SomeField
또는 some_table
으로 쉽게 참조 할 수 있습니다.
이 정확한 시스템을 사용할 필요는 없지만 필드 또는 테이블에 대한 모든 참조를 검색 할 수 있다는 것이 큰 이점입니다.
PHP 자체에서 거의 모든 네이티브 함수는 밑줄로 구분됩니다.문서에있는 대부분의 PHP 코드 예제는 밑줄로 구분되어 있습니다.
대부분의 언어에서 Camel 또는 Pascal Casing이 더 적절하다고 생각하지만 PHP에서 밑줄 분리를 사용하는 분명한 역사가 있다고 생각합니다.
필자는 camelCase를 사용하는 것을 선호했지만 더 큰 애플리케이션에서 일관성을 유지하기 위해 CodeIgniter의 스타일 가이드를 채택했습니다.
는당신이 그들의 프레임 워크를 사용하지 않더라도, 당신은 정의 명확하고 포괄적 인 스타일로 가서 일을 감상 할 수 : http://codeigniter.com/user_guide/general/styleguide.html (PEAR를 기반으로)
Zend Frameworks naming convention 당신이 표준에 와서 가장 가까운 아마 PHP 세계에서. 개인적으로, 나는 lowercase_underscore를 변수 이름으로 사용하는 것을 선호하지만, 그렇지 않으면 대부분 ZF의 규칙을 따른다.
내 목표 - 이름의 특정 형식이 무엇이든 - 더 많은 정보를 추가하는 중입니다. 이름이 코드의 이해를 향상시키고 중요한 것을 표현합니까?
그렇다면 훌륭합니다. 성공했다면 성공했습니다.
이름에 아무 것도 추가하지 않으면 왜 이름을 지정 했습니까? 나는 PEAR Coding Standards를 읽고 추천 할 것입니다
:
나는 이번 주 초에이 일에 썼다. PEAR은 공식적인 PHP Extension and Application Repository이므로 공식적인 코딩 표준으로 간주 될 수 있습니다.
동의합니다, 나는 OO를 배우는 과정에 있으며 정적 클래스는 (전역 네임 스페이스에서 모든 문자열 포맷터 등을 옮기기 위해) – alex
동의하지 않습니다. [this] (http://stackoverflow.com/a 참조)/1557799/1870054), 그들은 전역 변수에 대해 이야기합니다. 항상 나쁜 것은 아닙니다. – wener