Code-Checker – nový pomocník vývojáře

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
David Grudl
Nette Core | 8218
+
0
-

V distribuci už nějakou dobu existuje nástroj CodeChecker, který zkontroluje a případně opraví některé z formálních chyb ve vašich zdrojových kódech.

Usage: php code-checker.php [options]

Options:
	-d <path>  folder to scan (optional)
	-f         fixes files
	-l         convert newline characters

Bez parametrů zkontroluje aktuální adresář v read-only režimu, s parametrem -f opravuje soubory. Než se s ním seznámíte, určitě si soubory nejdřív zazálohujte.

Pro snadnější spouštění si můžete vytvořit baťák code.bat:

php.exe cesta_k_Nette_tools\Code-Checker\code-checker.php %*

Co všechno dělá?

  • odstraňuje BOM
  • kontroluje validitu Latte šablon
  • kontroluje výskyt control characters
  • kontroluje, zda je soubor kódován v UTF-8
  • kontroluje chybně zapsané /* @anotace */ (chybí hvězdička)
  • odstraňuje ukončovací ?> u PHP souborů
  • odstraňuje pravostranné mezery a mezery na konci souboru
  • normalizuje oddělovače řádků na systémové (pokud uvedete volbu -l)
sodae
Nette Evangelist | 250
+
0
-

Super utilitka, kéž by uměl třeba i převést kódy na coding standard.

Github

Patrik Votoček
Člen | 2221
+
0
-

To přece umí skoro každé kvalitní IDE…

srigi
Nette Blogger | 558
+
0
-

Vdaka za to konvertovanie newline. Dost mi vadi, ze distribucnom baliku su pouzivane ako NL character-y \r\n a v linuxovej konzole je potom z toho dost bordel:

BTW bolo by fajn, keby pan Grudl presiel na UNIXove kodovanie NL, lebo aj na windowse vsetko nahor od Notepadu (PSPad, Notepad2, Notepad++, Netbeans) si s \n poradi a zobrazi subor v poriadku.

Ped
Člen | 64
+
0
-

sodae napsal(a):

Super utilitka, kéž by uměl třeba i převést kódy na coding standard.

Github

co coding standart, to umi IDE.

Ale umi to doporucovat zamenu deprecated (tech co maji jiny doporuceny tvar) latte maker? (jsem liny to proste zkusit) To by tam podle mne taky mohlo byt, pokud to tam jiz neni. :)

natrim
Člen | 73
+
0
-

@srigi: nepouzivej vestavenej editor v mc a je to v pohode .)

kravčo
Člen | 721
+
0
-

srigi napsal(a):

Vdaka za to konvertovanie newline. Dost mi vadi, ze distribucnom baliku su pouzivane ako NL character-y \r\n a v linuxovej konzole je potom z toho dost bordel:

To, že v distribučnom balíčku sú CRLF riadky asi zapríčiňuje iba fakt, že je generovaný na Windows systéme.

(predpokladám, že je generovaný z git repozitára a konverzia prebieha automagicky)

BTW bolo by fajn, keby pan Grudl presiel na UNIXove kodovanie NL

David prešiel na UNIXové konce riadkov už pomerne dávno (nette@45fd100, pozerať radšej lokálne).

… lebo aj na windowse vsetko nahor od Notepadu (PSPad, Notepad2, Notepad++, Netbeans) si s \n poradi a zobrazi subor v poriadku.

Rovnako sa dá povedať, že väčšina editorov nahor od mc-edit ti nezobrazí CR…

David Grudl
Nette Core | 8218
+
0
-

srigi napsal(a):

Pan Srigi, stežovali by si uživatelé notepadu. Tohle nerozlousknem, nehledě na to, že ø Nette programátor je 75% Windowsák, 19% Linuxák a 6% Mekař.

srigi
Nette Blogger | 558
+
0
-

OK, vdaka za prispevky pani. Kedze mi bol poskytnuty nastroj na riesenie mojho problemu, neni dalej o com diskutovat.

pekelnik
Člen | 462
+
0
-

Pan Srigi, stežovali by si uživatelé notepadu. Tohle nerozlousknem, nehledě na to, že ø Nette programátor je 75% Windowsák, 19% Linuxák a 6% Mekař.

Jsou ta čísla nějak podložená?

Lopata
Člen | 139
+
0
-

Nejspíš jsou z Google Analytics z User Agentu, takže ano.

hanakus
Člen | 22
+
0
-

Ve verzi pro PHP 5.2 (Nette 2.0-alpha 2 ze dne 10. 03. 2011) jsou dva problémy – na Windows nefunguje funkce getopt() a potom na řádku 82 je potřeba změnit $res = $task($this, $s); na $res = $task->invoke($this, $s);

skrivy
Člen | 51
+
0
-

sodae napsal(a):

Super utilitka, kéž by uměl třeba i převést kódy na coding standard.

Github

Ono nejde o to, ani to opravovat, spis kontrolovat.