Home » Posts tagged "coding"

18F 丟出 CSS 的代碼風格指南

好幾個禮拜前的東西,這幾天才上 Hacker News:「Introducing the CSS coding style guide」。

18F 是美國政府的官方單位,取名自辦公室所在的地址:(取自 Wikipedia 的「18F」說明)

Its name refers to its office location in northwest Washington, D.C., on 18th and F Streets.

不只是定義了 CSS Coding Style Guide,還給了 SCSS Lint 工具使用:

The styleguide provides a method of linting Sass (SCSS) code to ensure it conforms to the rules in the styleguide.

阿肯色州成為第一個要求高中教 coding 的州

Slashdot 上看到「Arkansas Is Now the First State To Require That High Schools Teach Coding」,報導自「Arkansas is Now the First State to Require That High Schools Teach Coding」。

2015~2016 這個年度將會開始招募大量教師,在高中內教 coding,大約花費一億五千萬台幣。

Training programs for teacher preparation will be available, but with the majority of the infrastructure already primed, the execution of this new law should hopefully be painless and seamless.

推行到高中啊...

PHP-CS-Fixer 1.0 出版!

PHP-CS-Fixer 正式釋出 1.0 版:「PHP CS Fixer finally reaches version 1.0」。

原作者提到了之前的版本以 regular expression 為底,而這三個月有了大改變,現在的版本是以 token 來判斷:

The current stable version of PHP-CS-Fixer was released in August 2014 and it is still based on regular expressions, two years after the first public release. But in the last three months, things got crazy mainly because of Dariusz Ruminski. He did a great job at rewriting everything on top of a parser based on the PHP tokens, helped by 21 other contributors.

這邊寫一下用法:

php-cs-fixer fix /path --level=psr2

這樣會把目錄下的所有 .php 檔都清過一次。目錄的部份也可以用檔名,表示只處理一個檔案。

檢查程式碼是否符合 PSR-2 的工具:PHP_CodeSniffer (phpcs)

PHP_CodeSniffer 是套檢查 PHP 程式碼是否符合規範的工具。


WordPress 3.8.1 的 index.php 跑 PSR-2 測試。

想要測試的人可以用 Vagrant 安裝測試,我用 Docker 弄了老半天弄不起來,就跑去用 Vagrant 測試了...

(話說回來,Vagrant 與 Docker 真的是測試的神器,反正要弄一個 Ubuntu 平台上測試就是拿這兩個東西出來測...)

由於系統內的 PHP_CodeSniffer 不一定夠新,舉例來說,Ubuntu 12.04 的 php-codesniffer 只有 1.1.0,而掃 PSR-1 的程式出現在 1.3.5,PSR-2 出現在 1.4.0

安裝 c9s 所維護的 phpbrew 通常是還蠻常見的選擇。裝完後再用 pear install PHP_CodeSniffer 裝進去就有 phpcs 可以用了。

phpcs 預設是用 PEAR standard,可以指定 --standard=PSR2 強迫他使用 PSR-2 規則:

phpcs --standard=PSR2 foo.php

也可以直接強迫換成 PSR-2,然後再看設定有沒有改成功:

phpcs --config-set default_standard PSR2
phpcs --config-show

除了可以檢查單一檔案外,也可以丟路徑進去整個檢查:

phpcs foo/

關於可維護的 PHP 專案:PHP-FIG 的 PSR-0、PSR-1、PSR-2

一個組織裡要導入 coding standatd & coding style 時是功夫最少的時候,除非有特殊理由,不然我一向都是建議:

不要自己發明 coding standard 與 coding style,如果社群的規範合理,就照著社群的規範走。

社群中比較完整的包括:

兩份大多數的規範是相同的 (因為 community 已經有習慣了),不過現在感覺起來 PHP-FIG 比較熱鬧一點 (參與的人來自不同的專案),如果讓我推薦的話我會建議用 PSR-{0,1,2}。

Reply to「寫出好維護的 PHP 程式碼」。

Archives