Jump to content
php.lv forumi

jurchiks

Reģistrētie lietotāji
  • Posts

    1,649
  • Joined

  • Last visited

Posts posted by jurchiks

  1. >Ps. Jurčik, tas, ko Tu te proponē saucas parameter hell. Un risinājums tam ir konfigurācijas konstrukti.

    Tu gribi teikt, ka manā koda piemērā man jātaisa speciāla klase DIVIEM boolean parametriem? Kaut gan jebkurš normāls IDEs un arī dažu advanced text editoru lietotājs var apskatīties, ko tie parametri nozīmē, sekundes laikā?

  2. https://www.sitepoint.com/self-documenting-javascript/

    Ieteikumi galīgi neattiecas tikai uz JS, tā kā recommended read for everyone.

     

    Vienīgais punkts, kuram ne pārāk piekrītu, ir "Avoid boolean flags". Ir lietas, kurām nekas cits neder, turklāt izmantojot IDEs, tas ir moot point - uzhovero uz funkcijas un uzreiz redzi, kas ir tas boolean parametrs (ja vien tur nav 10 boolean pēc kārtas, in which case there's different problem you need to address first).

  3. Ja tas ir skalārs lielums, tad tev baigi krata - tas ir 0 vai null? 99.9% gadījumu - nē.

    Es pieturos pie tāda standarta, ka return value ir tikai 1 datu tips. Metodes, kurām var nebūt return value (piemēram, nav kaut kas atrasts), var atgriezt NULL (jo NULL = no value), bet tas ir special case, ko vienmēr jāņem vērā. Diemžēl šādiem gadījumiem, kamēr PHP nesuportē nullable types, kodā return type nevar likt, tikai Docblockā.

     

    Es gandrīz vienmēr pārbaudu return value ar identity (===), nevis equality (==).

  4. Es nevaru ar to lēnumu sadzīvot, paņēmu WebStorm, dievs pasarg pēc Sublime pierast pie kā tāda. Uz i7, gļučī uz nebēdu.

    Varbūt viņam atmiņas pietrūkst. Atver to folderi, kurā ir .exe, un pamaini atbilstošajā .vmoptions failā -Xmx un varbūt -Xms vērtības. Ja esi uz x64 OS, vari pamēģināt WebStorm64.exe.

  5. >Protams, ja to vissu māk un ikdienā var strādāt bez 10 google tabiem atvērtiem, cepuri nost, klanos.

    Fucking easy.

     

    >Bet neizskatās, ka tā ir patiesība, ja jau bez manuļā, kas pa tiešo teksta redaktorā iebūvēts - nevar iztikt.

    Jā, tu jau PILNĪGI visam kodam, ko ikdienā izmanto, zini precīzi, kurai funkcijai kādi parametri kādā secībā padodas, un kādi katram parametram pieļaujamie datu tipi. DocBlocks are for noobs, amirite?

  6. >indentācija reizēm strādā, reizēm nestrādā

    Kādu versiju tu lieto? Atceros, ka vecākām versijām bija tāds gļuks pāris ļoti specifiskos gadījumos (e.g. multi-line builder pattern katrs nākamās līnijas izsaukums nebija indentojams). Sen gan neesmu tādu problēmu novērojis.

     

    >ātrums tiek iegūts uz visādu defaultu izslēgšanu

    Arī vecākām versijām bija raksturīgi ar lieliem failiem (pieņemot, ka ir normāls kompis). Tagad arī lieli faili nebremzē.

     

    >triks ar darcula tēmu, kura praksē ātri tiek novākta

    Ir dažādi cilvēki, un programmētāju aprindās, kur cilvēki stundām sēž tumšās telpās un cenšas minimizēt gaismas starojumu no monitora, tā tēma it kā esot laba. Not for me though. Bet tas tā kā būtu pilnīgi pofig, it's just a theme.

     

     

    Ar Eclipse ir tā, ka pēc manas pieredzes viņiem ir vairāk gļuku un performance issues nekā PhpStorm, kā arī vismaz agrāk bija ļoti gļukains PHP supports (parseris pie perfectly valid koda meta tonnām exceptions un tādēļ baigi bremzēja; paturi Eclipse vaļā vairāk par stundu un atvēlētā atmiņa ir pilna, viss sāk kārties nost), kā dēļ vispār sāku meklēt aizvietojumu. Vienīgais, ko es zinu, kas Eclipsē ir uztaisīts feināk par PhpStorm un pārējiem JetBrains produktiem, ir SVN supports. Team synchronize FTW! Bet lai ieslēgtu jebkādu repository support, jākačā plagini uzreiz pēc Eclipse uzstādīšanas, kas IMHO pēc būtības ir nepareizi. SVN/GIT ir 2 ārkārtīgi populāras VCS, bet nevienas supports nav pieejams out of the box.

  7. Uzraksti "::" vai "->", spied Ctrl+Space, un blakus pēc neliela delay parādīsies:

     

    Nhadf4.jpg

     

    Šo delay var mainīt @ Editor > General > Code completion > [checkbox] "Autopopup documentation in ms" (es uzliku 0 ms).

     

    Ir gadījies, ka sāc rakstīt metodes nosaukumu, piemēram, "->f", un tad rāda tikai sarakstu, bet ne dokumentāciju hailaitotajam itemam. Tad arī Ctrl+Space parādīs dokumentāciju.

     

    >Un phpStormam ir jātur Ctrl pirms hover.

     

    Editor > General > [checkbox] Show quick documentation on mouse move

     

    qHwDSp.jpg

  8. PhpStorm arī ir hover tooltip.

     

    >Piemēram, tādā gadījumā būtu bijis tā, ka jau uzsitot Request::get.. es redzētu, ka getQueryString docblock ir pateikts, ka parametri tiek pārkārtoti.

    Tā jau nav PhpStorm vaina, ja docos nav rakstīts.

  9. >Turklāt, ņem vērā, ka tos datus var bīdīt visādi un pirms datu nosūtīšanas secība var neatbilst tam i, kas tapa klonēšanas brīdī.

    Loģiski, ka tas ir jāparedz tajā bīdīšanas Javaskriptā.

     

    >Es nestrādāju lielā uzņēmumā un nevaru atļauties filozofēt par to, kā būtu pareizi

    Lielā uzņēmumā kā reiz par to nemaz neļauj filozofēt, jo ir "standarti".

  10. >Labprāt redzēto to JS kodu, kas izseko līdzi un menedžē to i. Vai jebkādā citādā variantā.

     

    var i = $existingRows.count();

     

    var newRow = $existingRows.last().clone().html()

        .replace(

            'name="subtypes[' + (i - 1) + '][]"',

            'name="subtypes[' + i + '][]"'

        );

     

    Tas būtu visprimitīvākais variants, bet arī viens no, ja ne pats efektīvākais. Vēl var tabulā norādīt atribūtus 'data-row-count="{$lastIterVal}"' un "data-col-count", ko jQuery viegli nolasīt ar jQuery('table-selector').data('row-count'), un pie jauna row/col pievienošanas uzsetot jaunu vērtību. Attiecīgi JS nolasa šos 2 atribūtus un ģenerējot jaunu row/col, nekas netiek klonēts, bet gan ģenerēts vai nu HTML string, vai DOM tree jaunajam row.

×
×
  • Create New...