Komponenta TODO panel (Rozšíření DebugBaru)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Šaman
Člen | 2635
+
0
-

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ářů .svntemp
  • 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
+
0
-

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ářů .svntemp

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 : )

Lopo
Člen | 277
+
0
-

ja by som bol za pridanie keyword-u XXX – pouziva ho napr. ZendStudio

Šaman
Člen | 2635
+
0
-

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)

Ondřej Brejla
Člen | 746
+
0
-

Klíčníci jsou asi bohužel off ;-)