Komponenta TODO panel (Rozšíření DebugBaru)
- Šaman
- Člen | 2659
Buď jsem totální slepejš, nebo zmizelo vlákno ohledně TodoPanelu.
Tak ho zakládám znovu.
Jsem totální slepejš, takže prosím ať už sem nikdo nereaguje a použije
původní vlákno
Používám ho, je super a měl bych pár nápadů na vylepšení:
- 1)
Většina položek je dvojená.Vyřešeno aktualizací na nejnovější verzi. Zřejmě ty duplikáty vznikaly z adresářů.svn
atemp
- 2) neakceptuje to všechny formáty komentářů – toto nenačte:
<?php
// neco @todo MMR: vyresit a sjednotit nastaveni v debug a production mode
/* neco @todo MMR: vyresit a sjednotit nastaveni v debug a production mode */
/**
* @todo MMR: vyresit a sjednotit nastaveni v debug a production mode
*/
// a naopak tohle mi najde a vypise: ed Neco co uz jsem opravil...
// @fixed Neco co uz jsem opravil, ale jeste to nechci mazat. Pouzivam to v souboru todo.txt
?>
Zvlášť ta třetí varianta mě docela mátla, když jí to nenašlo.
- 3) Hodilo by se u souboru vypisovat i číslo řádku, ale zatím mi to nijak citelně nechybí.
- 4) Když za
todo
nic není, vypisuje to následující řádek. Připadlo by mi užitečnější vypsat aktuální řádek:
<?php
if ($neco && $necoJineho || $jesteNeco) //todo
{
}
// i kdyz uznavam ze lepsi je to napsat takhle:
if ($neco && $necoJineho || $jesteNeco) // @todo Predelat na regularni vyraz
{
}
?>
- 5) A nápad na fičurku:
Pro položky které nemám kam dát přímo do kódu jsem si založil vlastní soubor
todo.txt
, ale musím v něm dodržovat PHP komentářovou syntax:/** @todo MMR: Presunout 'Souhlas' hned za Kalkulator? */
/** @todo MMR: Live validace formularu */
/** @todo MMR: Komponenta na přegenerování smlouvy */
Navrhuji přidat pole masek souborů (naplní si každý po svém, defaultně
nechat třeba todo.txt
a todolist.txt
) ve kterých se
bude každý řádek brát jako nová položka a naopak komentáře budou
ignorovány (aby bylo možné dopsat hlavičku souboru apod.)
Když nebude odezva, tak si to dopíšu sám, ale myslím, že by toto ocenilo víc lidí. Pro mě je to teď jedna z nejpoužívanějších informací na celém DebugBaru. A nechci překopávat cizí komponentu dokud žije.
Jo, a díky za ní. Jednoduchá a užitečná.
Editoval Šaman (12. 5. 2010 13:10)
- Mikulas Dite
- Člen | 756
Nezmizelo viz stránka → wiki → diskuze.
Šaman napsal(a):
Používám ho, je super a měl bych pár nápadů na vylepšení:
- 1)
Většina položek je dvojená.Vyřešeno aktualizací na nejnovější verzi. Zřejmě ty duplikáty vznikaly z adresářů.svn
atemp
jo, opraveno dřív
- 2) neakceptuje to všechny formáty komentářů – toto nenačte:
// neco @todo MMR: vyresit a sjednotit nastaveni v debug a production mode
/* neco @todo MMR: vyresit a sjednotit nastaveni v debug a production mode */
A ani akceptovat nebude, pokuď to neni na novém řádku, neni to ani
validní anotace. (Možná podle nějaké superspecifikace je, ale není to
přehledné a to neco
se tam nikdy neobjeví.
/**
* @todo MMR: vyresit a sjednotit nastaveni v debug a production mode
*/
To vážně nejde? Mrknu.
- 3) Hodilo by se u souboru vypisovat i číslo řádku, ale zatím mi to nijak citelně nechybí.
Mě zatim vůbec. Nutí to psát todo přehledně. Ale jako feature request ok, časem to asi přibude tak jako tak.
- 4) Když za
todo
nic není, vypisuje to následující řádek. Připadlo by mi užitečnější vypsat aktuální řádek:
Prima nápad, taky rád bych někdy přidal. Ale vyžadovalo by to docela hodně upravit parser, což by ještě víc ubralo na rychlosti. Takže taky časem. (Plus stejně jako nahoře, nutí to psát pochopitelné popisky)
- 5) A nápad na fičurku:
Pro položky které nemám kam dát přímo do kódu jsem si založil vlastní soubor
todo.txt
, ale musím v něm dodržovat PHP komentářovou syntax:
/** @todo MMR: Presunout 'Souhlas' hned za Kalkulator? */
/** @todo MMR: Live validace formularu */
/** @todo MMR: Komponenta na přegenerování smlouvy */
Na to sem narazil taky. Jednou. Rozhodně zatim nebudu řešit speciálním souborem, protože jsem dospěl k tomu, že opravdu každé todo má nějaké svoje místo kam se dá dát.
Když nebude odezva, tak si to dopíšu sám, ale myslím, že by toto ocenilo víc lidí. Pro mě je to teď jedna z nejpoužívanějších informací na celém DebugBaru. A nechci překopávat cizí komponentu dokud žije.
Jo, a díky za ní. Jednoduchá a užitečná.
Docela rád bych udělal to repo co nejvíc veřejné (což mi github nepovolí), ale když uděláš fork, rád ho pak do masteru zařadim. Následující týden to určitě neudělám, takže máš volnou ruku.
A díky za feedback : )
- Šaman
- Člen | 2659
Mikulas Dite napsal(a):
/**
* @todo MMR: vyresit a sjednotit nastaveni v debug a production mode
*/To vážně nejde? Mrknu.
Nejde. Neprojde to regulárním výrazem. Odpovídá to vzoru:
/** neco @todo popis */
(konkretne:
/** * @todo popis */
).
V regulárním výrazu stačí nahradit ( |\t|\n)*
na
( |\t|\n|\ *)*
a pak to funguje. (bez mezery mezi \
a
*
samozrejmě. Jen mi to tak nejde odeslat, nahrazuje mi to
entitou).
Edit: Ale tak mě napadá, že i po této úpravě nepůjde použít toto:
<?php
/**
* Nazev funkce
* popis funkce
* @params ...
* @return ...
* @todo co se ma udelat
*/
public function myFunc(xxx)
{
}
?>
Možná by šlo přidat nějaký strict mode, který bude hledat jen vzor:
@todo popis do konce radku
, jen z konce radku ubrat
případné: */
Docela rád bych udělal to repo co nejvíc veřejné (což mi github nepovolí), ale když uděláš fork, rád ho pak do masteru zařadim. Následující týden to určitě neudělám, takže máš volnou ruku.
Oki, nevím sice kdy, ale až si s tím pohraju, tak pošlu odkaz.
Toto vlákno je duplicitní, prosím používejte původní diskuzi a toto někdo zamkněte.
Editoval Šaman (12. 5. 2010 10:00)