Lithium - The most RAD framework

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Software Ontwikkelaar WO 3.300 - 4.800

Functieomschrijving C# .NET Software Ontwikkelaar WO 3.300 - 4.800 Software Engineer (Backend Developer) Voor de vacature als C# .NET Software Ontwikkelaar Ederveen WO ga je het volgende doen: De functie is gericht op het voorbereiden, ontwikkelen en schrijven van onze MES applicatie inclusief de inrichting van de MS-SQL database. In teamverband wordt de functionaliteit bepaald en vastgelegd. Documenten, ontwikkeltraject en change-logs worden beheerd binnen onze beheeromgeving. Na uitvoerige testen worden aangepaste functies geïmplementeerd of nieuwe functies toegevoegd. Als software engineer werk je in teamverband, ben je analytisch van aard en vernieuwend bezig. Werkinhoudelijk: Analyseren en adviseren m.b.t. ontwikkeltechnieken en tools

Bekijk vacature »

Flip --

Flip --

26/08/2012 18:09:21
Quote Anchor link
Link: http://lithify.me/

Ben op zoek naar mensen die hier ook mee werken. Het lijkt enigzins op CakePHP omdat de author hiervan de lead developer was.
 
PHP hulp

PHP hulp

23/08/2019 20:51:49
 
John Berg

John Berg

26/08/2012 19:13:03
Quote Anchor link
Op het eerste gezicht ziet het er allemaal wel aardig uit. Echter, toen ik op github eens door de sources bladerde zag ik dat de classes barsten van de statics. Toen ben ik maar gauw afgehaakt.
 
Flip --

Flip --

26/08/2012 19:32:56
Quote Anchor link
te moeilijk voor je ?
 
John Berg

John Berg

26/08/2012 19:47:27
Quote Anchor link
:-))

Globals, Statics and Singletons are evil.
 
- Raoul -

- Raoul -

27/08/2012 17:51:19
Quote Anchor link
Flip -- op 26/08/2012 19:32:56:
te moeilijk voor je ?


Wat heeft 'te moeilijk' te maken met een overhoeveelheid statics? :)
 
Flip --

Flip --

29/08/2012 23:43:36
Quote Anchor link
Waarom zou je afhaken bij statics ?
Gewijzigd op 29/08/2012 23:46:12 door Flip --
 
Wouter J

Wouter J

29/08/2012 23:50:04
Quote Anchor link
Statics en singletons zijn niet goed in een goede OO omgeving.

Met singletons is het bijna onmogelijk om test driven development te gebruiken en statics vind ik zelf niet eens OO.

Als je een class static methods meegeeft maak je van de class meer een collectie van functies dan een object. Als je instance methods maakt in de class is de class wel een object. En ook met static methods is het unit testen moeilijk, aangezien deze static zijn en niet per instance verschillen.
 
John Berg

John Berg

29/08/2012 23:53:06
Quote Anchor link
Mooi gesproken Wouter, ik had het niet beter kunnen verwoorden.
 
Flip --

Flip --

30/08/2012 15:44:39
Quote Anchor link
Echt geen probleem om tests te runnen, er zijn zelfs veel goede tests meegeleverd.

Zie: http://lithify.me/docs/manual/appendices/readme.wiki
"You guys use statics all over the place. Aren't those really hard to test?"

Verder zijn statics niet per definitie foute code en hebben ze wel degelijk voordelen.
Gewijzigd op 30/08/2012 15:45:04 door Flip --
 
John Berg

John Berg

30/08/2012 16:01:32
Quote Anchor link
Ik denk dat vriend en vijand het er wel over eens is dat statics eigenlijk niks met OO programmeren te maken hebben, maar een deftige manier zijn om procedurele code in classes te hangen.

In de link staat het eigenlijk all, het probleem met statics (net als met globals en singletons) is 'state'.

En we kunnen er wel een academische discussie van maken, maar die is al heel vaak gevoerd. De ontwikkelaars van PHP willen uiteindelijk ook van de globals en superglobals af.

Ik heb wel eens naar het Laravel framework gekeken, dat is echt heel erg mooi. Maar ook weer in elkaar geplakt met statics. En ik snap wel waarom, je kunt ze te pas en onpas gebruiken, zonder een instantie van de class te instantieëren. En dan ben ik toch weer terug bij 'state'.

Ik zal eens kijken of ik ergens een voorbeeldje kan opsnorren.
 
Wouter J

Wouter J

30/08/2012 16:13:46
Quote Anchor link
Statics zijn niet fout, maar wel in een OO omgeving.

En die FAQ, tja. Ze zeggen het er mooi. Lithum is niet object geörienteerd, maar functioneel geprogrammeerd. En ze hebben die functies mooi gegroepeerd in classes, die dan dienen als een soort namespace. Niks meer en niks minder. Kan mooi zijn, ik vind het niet mooi in een taal die ook object geörienteerd programmeren ondersteund.

En statics juist goed te testen? Niet mee eens. Bij elke test moet je een nieuwe instance hebben, iets wat niet bewerkt kan zijn door andere tests. Nee, elke test heeft recht op zijn eigen objecten, functies, enz.

Dat ze dat dan moeten gaan oplossen met een verkapte vorm van DI vind ik niet 'juist goed' te noemen, ik vind het hetzelfde als een handdoek om een lekkende kraan binden: Het werkt, alleen het is niet de oplossing.
 
Flip --

Flip --

30/08/2012 21:49:06
Quote Anchor link
Naar mijn mening is het al vanaf post twee off-topic, want ik vroeg om mensen die hier ook mee werkten (of eventueel vergelijkbare ervaringen hebben om deze te delen).

Verder deel ik jullie mening niet om af te haken omdat het geen "mooie oplossing is". Als het werkt is het een oplossing. Dat er betere, maar tegelijkertijd minder realistische oplossingen zijn is niet relevant.

Zie ook: http://www.parashift.com/c++-faq-lite/biz-dominates-tech.html

Nu werken veel mensen niet voor een bedrijf, maar ik mag aannemen dat de meeste mensen geinterreseerd zijn hoe ze snel een mooie app in elkaar kunnen draaien waar techisch ook goed mee te werken is. Maar goed als de pracht en praal van jullie code zo belangrijk is, dan is deze niet voor jullie. Ik ben zelf aardig onder de indruk anders hoe het technisch in elkaar zit, ook al is het niet 100% OO, wat ik overigens ook nooit beweerd heb.

Dus voor de duidelijkheid, als iemand een punt heeft van dit werkt fijn of dit werkt niet fijn en je kan beter naar X kijken, ben ik een en al oor.
Gewijzigd op 30/08/2012 21:50:19 door Flip --
 
Wouter J

Wouter J

30/08/2012 22:14:51
Quote Anchor link
Flip, als je gaat programmeren naar 'het werkt en dus is het een oplossing' ben je naar mijn mening echt verkeerd bezig met je script. Gewoon wat doodsimpele voorbeeldjes...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$name
= Wouter;

echo "Hallo $name";
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
mysql_connect('localhost', 'user', 'pass');

mysql_select_db('tabel');

mysql_query('SELECT name FROM users WHERE id = '.$_POST['id']);
?>


Het script zal vast wel werken, in de juiste omstandigheden. Het script zal ook vast wel sneller zijn dan 1tje met goede foutafhandeling. Maar ach, het werkt en dus is het goed.

Het gaat hier namelijk niet alleen om pracht en praal, het gaat om praktisch nut. Met TTD, wat dus niet goed gaat met statics en singletons, zal je bijna alle mogelijke situaties testen, waardoor je project tegen heel veel bestemd is. Tevens zal je een betere KISS (keep it simple, stupid) applicatie hebben, je hebt immers alleen maar die dingen erin gestopt die je ook echt nodig hebt.
Met OO zorg je dat je code extreem flexibel wordt. Hierdoor script je iets 1 keer en hoef je dat nooit meer toen doen. Met enkele kleine wijzigingen zal je het in elk project kunnen gebruiken.

En juist om dat praktische nut maak ik gebruik van deze technieken, want geloof me. TDD kost heel veel extra tijd en als ik iets haat dan is het meer tijd aan iets besteden dan nodig is.

Tevens die laatste alinea. Kijk eens naar frameworks als Symfony of ZF2. Deze hebben geweldige code, goede technieken en je kan in een paar tellen zo een hele applicatie maken met inlog system, enz.
 
Flip --

Flip --

30/08/2012 22:33:13
Quote Anchor link
Wouter:
Singletons, onrealistisch voorbeelden. Please stay on-topic thx.
 
Wouter J

Wouter J

30/08/2012 22:43:17
Quote Anchor link
Jammer dat er op een reactie die 274 woorden telt wordt gereageerd omdat er 1 woordje verkeerd is. Ik ben best in voor discussies, daar kunnen we allemaal veel van leren. Alleen er moet dan wel normaal gereageerd worden... Tevens moeten we dan allebei openstaan voor het aanpassen van onze mening, ik denk niet dat dat nu het geval is.
Dus jammer, maar dit gaat hem niet worden.
 
- Raoul -

- Raoul -

30/08/2012 22:50:24
Quote Anchor link
Ik ben het eens met Wouter. Wouter uit zijn kritiek over dit framework, en dat zou niet ontopic zijn? Lijkt me een beetje raar :-)
 
Flip --

Flip --

02/09/2012 14:39:30
Quote Anchor link
Het verhaal over TDD, singletons, en hoe OO php mooi kan zijn, is aardige informatie op zich. Betekend niet dat lithium problemen heeft als: moeilijke TDD, E_NOTICE warnings, sql injection vulnerability, niet flexibel zijn. Dat Lithium niet op een bepaalde wijze is geïmplementeerd en het daarom esthetisch gezien niet mooi zou zijn is natuurlijk een persoonlijke keuze om het links te laten liggen. Ik was echter op zoek naar mensen die hier juist mee aan de slag zijn (of willen). Dit heb ik ook duidelijk aangegeven in mijn eerste post. Het is jammer dat deze intentie niet is overgekomen.
 
Jeffrey van Hees

Jeffrey van Hees

12/10/2012 00:56:48
Quote Anchor link
Jup! Ik! Ben er nu een jaartje mee aan het spelen en het is een fantastisch framework. Super licht en maakt gebruik van die nieuwste PHP features. Ik denk dat de mensen hierboven maar eens wat beter moeten kijken naar dit framework dan alleen op github. Download het eens en bouw eens een simpel website-je.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.