-
Posts
1,649 -
Joined
-
Last visited
Posts posted by jurchiks
-
-
BET tas viss ir kārtējais offtopiks.
-
>tu uz tā sava koda cyclomatic complexity esi paskatījies?
Un tavs kods ir labāks?
>Tev nav testu
Jau atrunāts.
>Symfony konsole ir burtiski noklāta ar testiem, no A-Z;
Tas nenozīmē, ka tur nav neviena baga.
>Symfony konsolei ir visaptveroša dokumentācija
kura prasa daudz laika, lai iemācītos vienkāršas lietas
>SOLID Tavā brūvējumā ir pilnībā noignorēts
Ne pilnībā. Maintainability is not a problem because there's so little code. Symfony maintainot gan ir "jautri".
>Tev ir nulle dokumentācijas whatsoever.
Tāpēc, ka kods ir self-explanatory.
>Arī kods pats sevi nepaskaidro ne cik labi.
Piemēram (ja neskaita šo konsoles handlera reģistrāciju, kurai gan ir usage piemērs)? Un te neiet runa par internal API, kuru end useris neredz, tā kā to tu uzreiz vari aizmirst.
Es uzskatu, ka koda piemēri ir daudz vērtīgāki par dokumentāciju. Ja ir kaut kādi baigi daudzie varianti, ko kādam API var padot, tad var vēl blakus piemēram komentāru bloku uzrakstīt, bet ne vairāk.
>Tavs 5 minūšu garbage, kas makes sense tikai Tev pašam...
Mans 5 minūšu "garbage" ir saprotams max 1 minūtes laikā, ja prot lasīt kodu.
>Šeit ir sample komanda
Priekš konsoles komandas, kas izvada "Hi there, world!", tas ir daudz par daudz koda.
Turklāt tai Symfony console struktūrā, vienai komandai obligāti nepieciešama vesela klase ar vairākām metodēm. Manā gadījumā 1 klasē var būt jebkāds skaits komandu, katrai sava metode.Un vēl ir tāds feins punkts, ka Symfony konsolei vajag uztaisīt objektu katrai konsoles handlera klasei tikai lai uzzinātu, kādu komandu tā handlo.
Es jebkurā brīdī varu pierakstīt ConsoleHandler klasei klāt metodi ar, piemēram, šādu API:
protected static final function validateArguments(array $arguments, ArgumentDefinition ... $definitions): bool { // loop through $definitions, validate against $arguments }
pielietot to, piemēram, šādi:
use \simpleframe\ConsoleHandler; use \simpleframe\console\ArgumentDefinition as AD; class MyConsoleHandler extends ConsoleHandler { public static function command(...$arguments) { if (!self::validateArguments($arguments, AD::stringArgument(), AD::intArgument()->optional())) { echo 'Usage: php index.php command stringArgument[, intArgument]', PHP_EOL; return; } } }
un arī tad manā kodā viss būs īsāk.Ja nu man nenormāli gribētos named parameters, tad var uztaisīt `protected static final function parseArguments(array $arguments, ParameterDefinition ... $definitions): array`, kas samapo uz nosaukumiem, kuri padodas, piemēram, `AD::stringArgument('name goes here')`. Optional argumentiem value būtu vienkārši null.
Tas viss ir elementāri un ātri uztaisāms un notestējams, un tur būtu ļoti maz koda.
-
>var būt drošs, ka nekas nepabruks.
Ok, kas manā kodā var pabrukt? Tur reāli koda ir tik maz, ka nekas nevar nobrukt. Tajā Symfony konsolē ir tik daudz koda, ka visus bagus nevar izķert.
+ vēl ir tāda štelle, ka ir daudzreiz ātrāk 5 minūtēs uzdrukāt šādu primitīvu kodu, kurš dara visu, ko vajag, un par kuru tu automātiski zini visu, ko vajag zināt, nekā nokačāt symfony konsoli un tad pusstundu studēt, kā panākt visu, ko tev vajag izdarīt.
-
Man nav iebildumu pret composer, bet ir iebildumi pret masīviem projektiem, kuri dara būtībā vienkāršas lietas. Fancy features aside, tur nekā tāda nav, un lielāko daļu to fīču nevienam arī nevajag.
Es esmu ieinteresēts uztaisīt tikai absolūto minimumu, un pārējo jau var labot/likt klāt pa savam atkarībā no nepieciešamības.
-
Mēs visi labi zinām, ka REĀLA diskusija ar tevi gandrīz nekad nenotiek, tu nodirs, un citi atbild. Tāpēc es pieņemu, ka tāds ir tavs "diskusijas" stils.
-
Juri, es netaisos ar Tevi diskutēt par programmēšanu, ne vairāk kā ar āzi aiz sētas par Šveices nacionālo nodokļu politiku. Goda vārds.
Tad kāpēc tu diskutē?
-
Jurchik, izskaidro šito
Ja tu izlasītu visu metodi, tad pamanītu, ka ir iespējams piereģistrēt kā konsoles handleri arī parastu funkciju, i.e.:
App::registerConsoleHandler('var_dump', 'dumpThis'); `php index.php dumpThis arg1 arg2 arg3`
-
Manuprāt, call_user_func() FTW. Un listMethods() vietā vajadzētu reflection, kurš atfiltrē metodes, kuras sākas ar handler (handlerFoo(), handlerBoo()).
call_user_func() ir lēnāks, kaut dara to pašu. Reflection ir vēl lēnāks, un filtrēšana ir VĒL lēnāka. Priekš kam to visu darīt, ja rezultāts ir identisks?
-
Kāda velna pēc vispār vienai konsoles komandai būtu vajadzīgi N entrypointi.
? Kur tur ir N entrypointi?
Un ja jau konsoles handleris vienalga tiek reģistrēts kaut kā, tad nafig nepadot jau instanci kas implementē kaut kādu komandas interfeisu?
Because this is way simpler. Priekš kam tu tur kaut kādu interfeisu gribi iebāzt? Ko tas interfeiss REĀLI uzlabos?
Sentence: rm -rf un composer install symfony/console...
Yep, 10k lines of code for what I could do with 10.
-
Kur testi ?
Not my thing.
-
Kā jau nesen minēju, nekur neviens vēl production'ā neizmanto PHP7... Tā jau izmantotu, jo tas, kas tur ir, ir stabils.
-
jurchiks framework? https://github.com/jurchiks/simpleframe
Jā, mans. Neesmu gan sen pie viņa strādājis, jo darbs atņem gribēšanu darīt jebko...
-
Tāpēc, ka ir redzēt padaudz "savi freimworki", kuri izskatās pēc kūpošas sūdu čupas, viss krustām šķersām, nekas nav nodalīts jēdzīgi.
Vai tu neesi redzējis nevienu pašu "savu" freimworku, kuru tu atzītu par labu esam? Un cik "savus" freimworkus tu vispār esi redzējis, ka attiecini savu viedokli uz pilnīgi visiem "saviem" freimworkiem?
pienāk laiks, kad saproti, ka tu nekad neuzrakstīsi to kvalitatīvāk, kā to spēj izdarīt spēcīgs komjunitis, ieguldot tajā nejēdzīgu daudzumu cilvēkresursu un zināšanas.
Speak for yourself. Ir kaudze projektu, kurus kommunity tieši pavelk uz leju kvalitātes ziņā, jo visi grib visu vienuviet un uzreiz. Wordpress arī ir spēcīgs komjunitijs, vai tad ne?
Un Laravel jau arī nebūt nav tas ideālais kvalitātes piemērs.
-
Ahahaha, labs joks :D
Kāpēc tieši tas ir joks?
-
>vai pateica "es nemāku" kad jāuzmeiko prasta formiņa
Toties viņi tev nemeloja. Es arī Laravelā nemāku uzmeikot prastu formiņu. Protams, dokumentācijā atrast, kā to izdarīt, nav problēma, bet pašlaik nemāku, jo nevajag un neinteresē, un zinu, ka to iemācīties ir pāris minūšu jautājums, tāpēc to darīt tad, kad reāli vajadzēs, nebūs problēma.
Bet es māku to visu uztaisīt no nulles un saprotu, kā tas viss notiekās, kas, manuprāt, ir vērtīgāk.
-
A bet es pats savu lietoju...
Ok, not really, nekur jau vēl nelieto PHP7...
Anyway, grūti izsekot, kad tik ātri viss mainās. Man tomēr ir arī interesantākas lietas darāmas.
-
Vai tev šķiet, ka ir vērts katru mēnesi mācīties desmit jaunas tehnoloģijas, kuras jau nākamajā mēnesī aizstās 10 citas, "krutākas" lietas? Jebkuram normālam cilvēkam tā šķistu lieka laika tērēšana. Pa laikam kaut ko, kas ir noturējies popularitātē, var, bet tas arī viss.
-
Tas jau mazajā Latvijā skaitās šiki! :D
-
Da nu, tie sīkie tak lielās ar lietām, kuras viņi paši nav pirkuši. Nobody cares about that shit. Reāli, ja viņiem ir sūdīgas atzīmes skolā un uzvedās kā sūdi, tad vienīgais veids, kā viņi tās lietas dabūjuši, ir - izraudāja no senčiem, lai nopērk.
Un tur nav absolūti nekā, par ko lepoties. Viņiem pēc tam dzīvē grūtāk būs (ja vien biezie senči caur paziņām labos amatos neiebīdīs), un tad raksturs, iespējams, mainīsies.
Vienkārši turi taisnu muguru un ignorē tādus.
-
Ar stabilitāti es domāju softu, kuru izmanto vairāk par 1000 cilvēkiem un kurš ir stable vismaz pusgadu, un nemaina API/major versiju reizi mēnesī.
IMO bleeding edge nevajadzētu izmantot production saitiem.
-
Stabilitāte ir pensionāriem.
Nu tad es esmu pensionārs...
-
Yii ir perfekts piemērs vārdam "overengineered".
-
Reiz sensenos laikos (pirms gadiem pieciem) pamēģināju taisīt web app uz GWT, bija baigais sviests. Tolaik bija problēmas normāli, bez hakiem, piedabūt kaut ko submitoties vai konvertēt submitotos datus, precīzi neatceros. Googlē meklējot palīdzību, piedāvāja tikai dirty hakus, kaut gan tā bija pilnīgi normāla darbība HTML formas datu apstrādei.
-
Frontend pat pārāk progresē. Iemācies jaunākās lietas šodien, uz mēnesi-diviem ieturi pauzi/neseko tik aktīvi, un viss ir mainījies. Stabilitāte pie kājas.
PHP programmētāja vakances Draugiem.lv grupas uzņēmumā Mapon
in Darbs
Posted · Edited by jurchiks
Nu un pasaki vēl, ka tevi ir iespējams diskutēt. Tu nodirs, citi atbild. That's how it always goes.
Vārdu sakot, iebāz sev to Symfony labi dziļi un izbaudi, cik uziet. Es neesmu ofisa planktons, man ir interesantāk pašam rakstīt kodu un domāt, nevis lasīt stundām dokumentāciju, jo es zinu, ko man vajag, un es zinu, kā to uztaisīt, man nevajag 3rd party palīdzību no bloated librarijiem. Es esmu strādājis ar Symfony, un labi zinu, ka tas ir overengineered piece of shit; tiklīdz vajag kaut ko nestandarta, tā uzreiz kods uzpūšās x10, ja ne vairāk (mazums vēl speciāli bundle jākačā, kas varbūt aptuveni dara to, ko tev vajag), jo citādāk nevar, kamēr plain PHP to varētu eleganti atrisināt ar ~10 līnijām koda.
TL;DR - end the arguing, get back on topic. Es tev nepiekritīšu, un tu man arī ne, tātad jēgas 0.
P.S. Es nešaubos, ka ir cilvēki, kas man vismaz daļēji piekrīt, bet negrib to rakstīt, jo tad tu arī viņiem uzdirsīsi, un viņiem tas nav vajadzīgs.
P.P.S. Es nerakstu enterprise grade freimworku un neesmu ieinteresēts pielaizīties maksimāli lielam lietotāju skaitam; es rakstu extremely basic kodu sev un tiem, kam tāda lieta patīk. Tev nepatīk, tad tu arī nelieto, un man pie dirsas, ko tu par to domā.