.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Dat is te kort door de bocht. Dat het nog niet af is wil niet zeggen dat het niet gebruikt wordt, alleen dat er wellicht nog niet aan alle randvoorwaarden wordt voldaan, of dat het een quick 'n dirty implementatie is.DevWouter schreef op woensdag 12 oktober 2016 @ 12:10:
Hmm... Zelf wil ik geen TODO vinden in de code. Die horen thuis in je ticket/bug tracker.
Als het niet af is dan wordt dat code pad niet gebruikt en kan het verwijderd worden.
Ik heb die dingen juist liever wél in de code. Als je een keer een bug aan het traceren bent dan is zoiets gewoon een enorme red flag. Met alleen een comment in een apart TODO lijstje heb je op zo'n moment niets omdat je daar niet naar aan het kijken bent.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Kwestie van een of andere plugin die dat lijstje snapt en vervolgens de boel visualiseert in de editor van je IDE..oisyn schreef op woensdag 12 oktober 2016 @ 15:32:
Ik heb die dingen juist liever wél in de code. Als je een keer een bug aan het traceren bent dan is zoiets gewoon een enorme red flag. Met alleen een comment in een apart TODO lijstje heb je op zo'n moment niets omdat je daar niet naar aan het kijken bent.
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Without nipples, boobs are pointless - 365 project - In mijn hoofd is het alle dagen Kerstmis - What type of bees make milk? Boobies! - What type of bees are scary? BoooOOOOOooobeees! - Cactusliefhebster
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <4>[ 1056.336420] -mtc can --> 2e 41 0d 02 08 3d 28 b2 05 3c 00 64 01 a6 27 1c 01 <4>[ 1056.736449] -mtc can --> 2e 41 0d 02 08 44 28 de 05 3c 00 64 01 a6 27 1c ce <4>[ 1057.139619] -mtc can --> 2e 41 0d 02 08 4f 29 11 05 3c 00 64 01 a6 27 1c 8f <4>[ 1057.182666] -mtc can --> 2e 41 02 01 20 9b <4>[ 1057.539615] -mtc can --> 2e 41 0d 02 08 59 29 3b 05 41 00 64 01 a6 27 1c 56 <4>[ 1057.662702] -mtc can --> 2e 41 02 03 00 b9 <4>[ 1057.939610] -mtc can --> 2e 41 0d 02 08 61 29 6f 05 41 00 64 01 a6 27 1c 1a <4>[ 1058.182744] -mtc can --> 2e 41 02 01 20 9b <4>[ 1058.339886] -mtc can --> 2e 41 0d 02 08 6e 29 c5 05 41 00 64 01 a6 27 1c b7 <4>[ 1058.743711] -mtc can --> 2e 41 0d 02 08 7b 29 ee 05 3c 00 64 01 a6 27 1c 86 <4>[ 1059.143614] -mtc can --> 2e 41 0d 02 08 8d 2a 58 05 41 00 64 01 a6 27 1c 04 <4>[ 1059.170613] -mtc can --> 2e 41 02 03 00 b9 <4>[ 1059.186700] -mtc can --> 2e 41 02 01 20 9b <4>[ 1059.543601] -mtc can --> 2e 41 0d 02 08 9c 2a 89 05 41 00 64 01 a6 27 1c c4 <4>[ 1059.943598] -mtc can --> 2e 41 0d 02 08 a7 2a d7 05 41 00 64 01 a6 27 1c 6b <4>[ 1060.186624] -mtc can --> 2e 41 02 01 20 9b <4>[ 1060.343596] -mtc can --> 2e 41 0d 02 08 ba 2b 20 05 41 00 64 01 a6 27 1c 0e <4>[ 1060.670581] -mtc can --> 2e 41 02 03 00 b9 <4>[ 1060.747612] -mtc can --> 2e 41 0d 02 08 c4 2b 4c 05 3c 00 64 01 a6 27 1c dd <4>[ 1061.147611] -mtc can --> 2e 41 0d 02 08 d1 2b a9 05 3c 00 64 01 a6 28 1c 72 |
Kan iemand iets logisch maken van deze CANBUS data die binnen komt? Ik verwacht iets in de richting van kilometerstand, RPM, temperatuur en snelheid uit deze data te kunnen halen.
Om een referentiekader te geven. op moment van loggen was de kilometer stand ongeveer 108075 en was de temperatuur 10 graden.
Thanks
Oost west, 127.0.0.1 best!
Lees effe TS, maak even een eigen topic aan.geerttttt schreef op woensdag 12 oktober 2016 @ 20:14:
Oke, even een vraag aan mensen die hopelijk slimmer zijn dan ik
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <4>[ 1056.336420] -mtc can --> 2e 41 0d 02 08 3d 28 b2 05 3c 00 64 01 a6 27 1c 01 <4>[ 1056.736449] -mtc can --> 2e 41 0d 02 08 44 28 de 05 3c 00 64 01 a6 27 1c ce <4>[ 1057.139619] -mtc can --> 2e 41 0d 02 08 4f 29 11 05 3c 00 64 01 a6 27 1c 8f <4>[ 1057.182666] -mtc can --> 2e 41 02 01 20 9b <4>[ 1057.539615] -mtc can --> 2e 41 0d 02 08 59 29 3b 05 41 00 64 01 a6 27 1c 56 <4>[ 1057.662702] -mtc can --> 2e 41 02 03 00 b9 <4>[ 1057.939610] -mtc can --> 2e 41 0d 02 08 61 29 6f 05 41 00 64 01 a6 27 1c 1a <4>[ 1058.182744] -mtc can --> 2e 41 02 01 20 9b <4>[ 1058.339886] -mtc can --> 2e 41 0d 02 08 6e 29 c5 05 41 00 64 01 a6 27 1c b7 <4>[ 1058.743711] -mtc can --> 2e 41 0d 02 08 7b 29 ee 05 3c 00 64 01 a6 27 1c 86 <4>[ 1059.143614] -mtc can --> 2e 41 0d 02 08 8d 2a 58 05 41 00 64 01 a6 27 1c 04 <4>[ 1059.170613] -mtc can --> 2e 41 02 03 00 b9 <4>[ 1059.186700] -mtc can --> 2e 41 02 01 20 9b <4>[ 1059.543601] -mtc can --> 2e 41 0d 02 08 9c 2a 89 05 41 00 64 01 a6 27 1c c4 <4>[ 1059.943598] -mtc can --> 2e 41 0d 02 08 a7 2a d7 05 41 00 64 01 a6 27 1c 6b <4>[ 1060.186624] -mtc can --> 2e 41 02 01 20 9b <4>[ 1060.343596] -mtc can --> 2e 41 0d 02 08 ba 2b 20 05 41 00 64 01 a6 27 1c 0e <4>[ 1060.670581] -mtc can --> 2e 41 02 03 00 b9 <4>[ 1060.747612] -mtc can --> 2e 41 0d 02 08 c4 2b 4c 05 3c 00 64 01 a6 27 1c dd <4>[ 1061.147611] -mtc can --> 2e 41 0d 02 08 d1 2b a9 05 3c 00 64 01 a6 28 1c 72
Kan iemand iets logisch maken van deze CANBUS data die binnen komt? Ik verwacht iets in de richting van kilometerstand, RPM, temperatuur en snelheid uit deze data te kunnen halen.
Om een referentiekader te geven. op moment van loggen was de kilometer stand ongeveer 108075 en was de temperatuur 10 graden.
Thanks
Niet alleen de TS, ook de TW is duidelijk zat lijkt me zo.Megamind schreef op woensdag 12 oktober 2016 @ 20:26:
[...]
Lees effe TS, maak even een eigen topic aan.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Oost west, 127.0.0.1 best!
Niet helemaal mee eens. Wij staan TODO:'s toe maar wij hebben checkin policies dat in de todo een WIxxx (dus een WI items nummer van TFS) erin moet staan zoals dat geforceerd word dat ze ook in TFS worden vastgelegd maar dat je in code dus wel kan zien dat er een todo is en het work item kan openen voor meer info.DevWouter schreef op woensdag 12 oktober 2016 @ 12:10:
Hmm... Zelf wil ik geen TODO vinden in de code. Die horen thuis in je ticket/bug tracker.
Als het niet af is dan wordt dat code pad niet gebruikt en kan het verwijderd worden.
Vaak vervang ik het ook door een NotImplementedException en/of maak ik meteen de tickets aan (vaak met het label TechDebt). Dan heb je het meteen functioneel opgelost en staat het ook meteen in je werkvoorraad.
Nothing to see here!
Ja, dat deden we in een ander project ook. Probeer ik ook in m'n huidige project gedaan te krijgen maar ik ben er vrij laat bijgekomen (bouw is gestart begin dit jaar, ik zit er sinds Jun op) dus dat is dan wat lastiger. Dus idd gewoon //TODO: <jira issue>.Rutix schreef op woensdag 12 oktober 2016 @ 23:40:
Niet helemaal mee eens. Wij staan TODO:'s toe maar wij hebben checkin policies dat in de todo een WIxxx (dus een WI items nummer van TFS) erin moet staan zoals dat geforceerd word dat ze ook in TFS worden vastgelegd maar dat je in code dus wel kan zien dat er een todo is en het work item kan openen voor meer info.
Gister nog een TODO zonder stomtoevallig tegengekomen die je anders nooit terug had gezien.
https://niels.nu
De meest handige manier lijkt me inderdaad. Je kan op die manier vanuit je technical debt snel terugvinden wat je nog moet doen en waar dat zit door gewoon te zoeken. Of andersom als je de TODO tegenkomt, wat daar nu precies mee moet gebeuren. Het hele "verhaal" schrijf je niet op bij je TODO in je code maar op je tracking systeem.Rutix schreef op woensdag 12 oktober 2016 @ 23:40:
[...]
Niet helemaal mee eens. Wij staan TODO:'s toe maar wij hebben checkin policies dat in de todo een WIxxx (dus een WI items nummer van TFS) erin moet staan zoals dat geforceerd word dat ze ook in TFS worden vastgelegd maar dat je in code dus wel kan zien dat er een todo is en het work item kan openen voor meer info.
Meeste IDE's, inclusief IntelliJ, hebben een TODO optie, waar je alle "TODO" opmerkingen kan zien.Hydra schreef op donderdag 13 oktober 2016 @ 08:17:
[...]
Ja, dat deden we in een ander project ook. Probeer ik ook in m'n huidige project gedaan te krijgen maar ik ben er vrij laat bijgekomen (bouw is gestart begin dit jaar, ik zit er sinds Jun op) dus dat is dan wat lastiger. Dus idd gewoon //TODO: <jira issue>.
Gister nog een TODO zonder stomtoevallig tegengekomen die je anders nooit terug had gezien.
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Klopt, maar die van mij bevat bugs. Er staan er teveel inFiresphere schreef op donderdag 13 oktober 2016 @ 08:56:
Meeste IDE's, inclusief IntelliJ, hebben een TODO optie, waar je alle "TODO" opmerkingen kan zien.

.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Ik gebruik ook TODO in mijn code, maar altijd met de intentie om daar vandaag of morgen dat te veranderen in "DONE".
Voorbeeld:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| // Fictional function public void BuildPdfReport() { // DONE: Import the file // DONE: Tokenize the file // TODO: Parse the query // TODO: Build the report // TODO: Generate PDF of report // TODO: Ask where to store it // ... // Code that is already written // ... throw new NotImplementedException("Parse the query"); throw new NotImplementedException("Build the report"); throw new NotImplementedException("Generate PDF of report"); throw new NotImplementedException("Ask where to store it"); } |
"Doubt—the concern that my views may not be entirely correct—is the true friend of wisdom and (along with empathy, to which it’s related) the greatest enemy of polarization." -- Václav Havel
Leuk dat intel met z'n NUC's nu het msata slot heeft laten vervallen en hun eigen wifi meuk op het moederbord heeft gesoldeerd, probleem is alleen dat die intel wifi meuk bagger is als je het wilt gebruiken in AccessPoint ipv Client modus.
Hmmm.... dat kan natuurlijk ook aan de devs liggen die niet opruimeniRicardo schreef op donderdag 13 oktober 2016 @ 09:43:
[...]
Klopt, maar die van mij bevat bugs. Er staan er teveel in
[afbeelding]
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Meer aan het management wat andere prioriteiten heeft waardoor dit soort tickets in de issue tracker al een tijdje staan te stinkenFiresphere schreef op donderdag 13 oktober 2016 @ 12:19:
[...]
Hmmm.... dat kan natuurlijk ook aan de devs liggen die niet opruimen
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Die done vind ik vaak clutter. De code moet zelfbeschrijvend zijn en daarom halen wij de TODO weg en zetten de WI op de juiste status. Dan vervuilt je code niet maar je kunt wel zien wat er af is.DevWouter schreef op donderdag 13 oktober 2016 @ 10:55:
Wat me opvalt is dat de voornaamste reden om "TODO" te gebruiken neer komt op twee dingen: Een bookmark of een herinnering dat iets niet af is wanneer je gaat debuggen zodat je niet al te veel tijd kwijt raak bij het zoeken naar de fout.
Ik gebruik ook TODO in mijn code, maar altijd met de intentie om daar vandaag of morgen dat te veranderen in "DONE".
Voorbeeld:
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // Fictional function public void BuildPdfReport() { // DONE: Import the file // DONE: Tokenize the file // TODO: Parse the query // TODO: Build the report // TODO: Generate PDF of report // TODO: Ask where to store it // ... // Code that is already written // ... throw new NotImplementedException("Parse the query"); throw new NotImplementedException("Build the report"); throw new NotImplementedException("Generate PDF of report"); throw new NotImplementedException("Ask where to store it"); }
Nothing to see here!
Uiteraard, op het moment dat de code afgerond is dan worden all Done's verwijderd en komt er nog een kleine refactor slag voor de leesbaarheid.Rutix schreef op donderdag 13 oktober 2016 @ 13:23:
[...]
Die done vind ik vaak clutter. De code moet zelfbeschrijvend zijn en daarom halen wij de TODO weg en zetten de WI op de juiste status. Dan vervuilt je code niet maar je kunt wel zien wat er af is.
Het was dan ook bedoeld als illustratie hoe ik het gebruik.
"Doubt—the concern that my views may not be entirely correct—is the true friend of wisdom and (along with empathy, to which it’s related) the greatest enemy of polarization." -- Václav Havel
https://netdna.bootstrapc...3.7/css/bootstrap.min.css

[ Voor 10% gewijzigd door Megamind op 13-10-2016 16:09 ]
Hier geen melding xdMegamind schreef op donderdag 13 oktober 2016 @ 16:09:
Leuk man een CDN gebruiken
https://netdna.bootstrapc...3.7/css/bootstrap.min.css
[afbeelding]
Hmm vreemd, Windows update nog niet gedraaid?
Edit: nou nu werkt het weer
[ Voor 7% gewijzigd door Megamind op 13-10-2016 16:36 ]
2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI
Ik heb toevallig net de zelfde melding in Chrome over https://drupal.orgMegamind schreef op donderdag 13 oktober 2016 @ 16:09:
Leuk man een CDN gebruiken
https://netdna.bootstrapc...3.7/css/bootstrap.min.css
[afbeelding]
Het is ook pas sinds net, voor 14:00 had ik nog geen problemen. Wat helemaal vreemd is: op een andere user account (zelfde Mac) geen error.Your connection is not private
Attackers might be trying to steal your information from drupal.org (for example, passwords, messages or credit cards). NET::ERR_CERT_REVOKED
Automatically report details of possible security incidents to Google. Privacy Policy

Ik geloof dat het tijd is om naar huis te gaan.
Hiet inderdaad ook een fout op Wikipedia in Chrome, geen melding in Safari.F.West98 schreef op donderdag 13 oktober 2016 @ 16:40:
Ik had net ook al een vreemde melding, Wikipedia kreeg in Edge certificaatfouten maar op Firefox niet...
[ Voor 15% gewijzigd door OkkE op 13-10-2016 16:56 ]
“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.
We are currently experiencing a known issue which is causing certificate revocation/error messages to be displayed within some of our certificates. We ask all customers to please follow the instructions in this support article to clear their cache.
[ Voor 7% gewijzigd door xyanide op 13-10-2016 17:02 ]
Geeft ook een SSL errorxyanide schreef op donderdag 13 oktober 2016 @ 16:58:
Er zijn blijkbaar wat problemen met GlobalSign: https://www.globalsign.com/en/status/
[...]
Dan cripple je het internet toch wel een beetje
Weten we in ieder geval wel dat het revoken van certs correct werktMegamind schreef op donderdag 13 oktober 2016 @ 17:03:
[...]
Geeft ook een SSL error
Dan cripple je het internet toch wel een beetje
- Ik op kantoor hier. heus.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!

Probleem 1, een custom profile wordt keihard genegeerd.
Probleem 2, mijn Capability acceptSslCerts wordt keihard genegeerd.

Always looking for developers wanting to work with Erlang.
Over zo'n 4 dagen is het allemaal weer vanzelf opgelost :-)xyanide schreef op donderdag 13 oktober 2016 @ 16:58:
Er zijn blijkbaar wat problemen met GlobalSign: https://www.globalsign.com/en/status/
[...]
[...]
GlobalSign has since removed the cross-certificate from the OCSP database and cleared all caches. However, the global nature of CDNs and effectiveness of caching continued to push some of those responses out as far as end users. End users cannot always easily clear their caches, either through lack of knowledge or lack of permission. New users (visitors) are not affected as they will now receive good responses.
The problem will correct itself in 4 days as the cached responses expire, which we know is not ideal. [...]
Source: https://www.globalsign.com/en/customer-revocation-error/
“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.
Ik vond dit nog mee vallen. Moet je na gaan als een partij als Comodo dit heeft, of nog erger, het root ca certificaat UserTrust..OkkE schreef op vrijdag 14 oktober 2016 @ 08:51:
[...]
Over zo'n 4 dagen is het allemaal weer vanzelf opgelost :-)
[...]

.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Maar OMG hij is serieus: https://www.reddit.com/r/..._a_nosql_database/d8q5f9l
Just because you can, doesn't mean you should.
Maar voor zijn use-case is het perfect.HMS schreef op vrijdag 14 oktober 2016 @ 12:55:
Using Git as a NoSQL database (https://www.kenneth-truye...10/13/git-nosql-database/). Ik dacht dat dit een grap was, of weggelopen uit DailyWTF.
Maar OMG hij is serieus: https://www.reddit.com/r/..._a_nosql_database/d8q5f9l
Just because you can, doesn't mean you should.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.
Laurens-R schreef op vrijdag 14 oktober 2016 @ 15:57:
***members only***
Verwijderd
Mag ik vragen wat de bezwaren zijn of wat de alternatieven zijn?
Het is inderdaad zo dat de use case die wij hebben branching, merging en versioning vereist.
Het is ook zo dat schrijfsnelheid niet supersnel hoeft te zijn.
Wij hebben meerdere alternatieven bekeken, maar in elke situatie bleek dat we simpelweg een herimplementatie van git zouden doen.
Ik begrijp dat het niet meteen de meest voor de hand liggende keuze is, en er zijn inderdaad veel reacties die zeggen dat het geen goed idee is, maar ik heb nog geen enkel argument gezien dat niet vermeld is in de post.
We're debating the ideal code indentation format in the office slack. Some prefer 4 spaces, some 2, some tabs...
Personally, I prefer to increase the spacing for each successive indent according to the Fibbonaci sequence:

Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Als ik een stuk code krijg van een programmeur die dit heeft gedaan is hij zijn leven niet meer veiligRayNbow schreef op zondag 16 oktober 2016 @ 10:26:
Iets nieuws in de discussie over hoe je code moet indenten:
[afbeelding]
Gewoon ctrl+alt+f(of whatever jouw editor gebruikt) en het staat zoals jij het hebt ingesteld. Al gebruik je een beetje fatsoenlijke editor is dat gedoe over intentlevels een non-issue.Ryur schreef op zondag 16 oktober 2016 @ 12:02:
[...]
Als ik een stuk code krijg van een programmeur die dit heeft gedaan is hij zijn leven niet meer veilig![]()
Ja totdat je het moet inchecken en dus mergefouten krijgt.RagingPenguin schreef op zondag 16 oktober 2016 @ 12:10:
[...]
Gewoon ctrl+alt+f(of whatever jouw editor gebruikt) en het staat zoals jij het hebt ingesteld. Al gebruik je een beetje fatsoenlijke editor is dat gedoe over intentlevels een non-issue.
Ik snap het maakt weinig uit hoe de intentlevels staan, maar zodra je moet samenwerken kan het heel rottig zijn
Ik ga m'n code nu zo indenteren. Gewoon om jou te irriterenRyur schreef op zondag 16 oktober 2016 @ 12:02:
[...]
Als ik een stuk code krijg van een programmeur die dit heeft gedaan is hij zijn leven niet meer veilig![]()
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Anders komt het niet eens op de server terecht.
If money talks then I'm a mime
If time is money then I'm out of time
De Ripe thingy is disconnected geweest voor een halve minuut. Hoe ga ik ooit mijn record verbeteren als 2degrees elke week m'n modem een reboot geeft!
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Care to explainFiresphere schreef op maandag 17 oktober 2016 @ 10:58:
Meest frustrerende ding van de dag:
De Ripe thingy is disconnected geweest voor een halve minuut. Hoe ga ik ooit mijn record verbeteren als 2degrees elke week m'n modem een reboot geeft!
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Ik ben het nu deze tool aan het uitproberen maar ik heb niet het idee dat ik op een hoger of beter niveau zit dan handmatig UI automation tests programmeren in combinatie met SpecFlow. Sterker nog, de tests zijn lastiger te lezen, en je bent eigenlijk gewoon aan het programmeren maar dan in een UI. Het is veel handwerk en constant corrigeren.
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Ben wel goed bekend met SpecFlow en Cucumber. En dat betekent inderdaad veel programmeren en magic constanten gebruiken afhankelijk van de kwaliteit van de code en je test stijl.Sebazzz schreef op maandag 17 oktober 2016 @ 13:40:
Iemand ervaring hier met Telerik Test Studio?
Ik ben het nu deze tool aan het uitproberen maar ik heb niet het idee dat ik op een hoger of beter niveau zit dan handmatig UI automation tests programmeren in combinatie met SpecFlow. Sterker nog, de tests zijn lastiger te lezen, en je bent eigenlijk gewoon aan het programmeren maar dan in een UI. Het is veel handwerk en constant corrigeren.
Bij het doorkijken van een paar tutorials zie ik zeker een paar voordelen over het handmatig doen, maar er zijn ook nadelen.
Zoals met alle tools: Kijk of het voor jou werkt, zo ja dan is het van meerwaarde en zo niet dan gebruik je het niet.
Echter in dit geval wil ik er toch bij opmerken dat deze tool pas echt van nut wordt als je de onderliggende technieken (SpecFlow, WebDriver, et cetera) goed begrijpt.
PS: Ik gebruik SpecFlow om mijn uren automatisch vanuit mijn persoonlijke timetracker in de classic ASP timetracker van kantoor te zetten. Was een grotere uitdaging dan ik bereid ben om toe te geven.
"Doubt—the concern that my views may not be entirely correct—is the true friend of wisdom and (along with empathy, to which it’s related) the greatest enemy of polarization." -- Václav Havel
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Dan is het een kwestie van proberen en kijken of het bevaltSebazzz schreef op maandag 17 oktober 2016 @ 15:06:
Ik ben prima bekend met SpecFlow en WebDriver. Over Telerik kan ik echter weinig reviews vinden, of alleen maar reviews die 100% positief zijn wat een beetje onrealistisch lijkt.
"Doubt—the concern that my views may not be entirely correct—is the true friend of wisdom and (along with empathy, to which it’s related) the greatest enemy of polarization." -- Václav Havel
RIPE Atlas. Gewoon, ik wil'm zo lang mogelijk online hebben.iRicardo schreef op maandag 17 oktober 2016 @ 13:06:
[...]
Care to explainWelke fun mis ik nu weer?
https://atlas.ripe.net/probes/28226/#!tab-network
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
(Eigenlijk was het al stuk en heeft men wat gaten ontdekt.)
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Uhm... Ze zeggen dat hun code geen cast bevat terwijl het tijdens run-time een cast-exception gooit. En als je inderdaad alleen kijkt naar hun eigen geschreven code dan klopt het.RayNbow schreef op dinsdag 18 oktober 2016 @ 08:03:
Het ziet er naar uit dat men het typesystem van Java stuq heeft gemaakt.
(Eigenlijk was het al stuk en heeft men wat gaten ontdekt.)
Het lijkt er echter op dat ze iets van boxing en unboxing doen gezien ? super T.
Als ik het goed lees werkt het als volgt.
1. We hebben object A (type TA) en object B (type TB)
2. We beloven dat type TA een supertype is van TC
3. We beloven dat type TB een subtype is van TC
4. We geven object A als TC door aan een functie die het vervolgens als als TB teruggeeft.
"Doubt—the concern that my views may not be entirely correct—is the true friend of wisdom and (along with empathy, to which it’s related) the greatest enemy of polarization." -- Václav Havel
DevWouter schreef op dinsdag 18 oktober 2016 @ 08:58:
[...]
Uhm... Ze zeggen dat hun code geen cast bevat terwijl het tijdens run-time een cast-exception gooit. En als je inderdaad alleen kijkt naar hun eigen geschreven code dan klopt het.
Letterlijk de tweede regel achter de link:
Try it out for yourself by running the examples, which throw cast exceptions even though they contain no casts
De pagina bevat ook een link naar hun paper.DevWouter schreef op dinsdag 18 oktober 2016 @ 08:58:
[...]
Uhm... Ze zeggen dat hun code geen cast bevat terwijl het tijdens run-time een cast-exception gooit. En als je inderdaad alleen kijkt naar hun eigen geschreven code dan klopt het.
Het lijkt er echter op dat ze iets van boxing en unboxing doen gezien ? super T.
Als ik het goed lees werkt het als volgt.
1. We hebben object A (type TA) en object B (type TB)
2. We beloven dat type TA een supertype is van TC
3. We beloven dat type TB een subtype is van TC
4. We geven object A als TC door aan een functie die het vervolgens als als TB teruggeeft.
Note that bind.upcast can only be executed to do the unsound coercion if we can actually provide a value of type Constrain<U,? super T>. Without knowing that T is a subtype of U, it is impossible to create such an instance.
So type-checking the method invocation could actually be sound since it might be unreachable.
But in Java null inhabits every reference type [...] Thus, although it is impossible to create an instance of Constrain<U,? super T>, one can simply use null to bypass the critical assumptions that were used to argue the soundness of these features, most notably implicit-constraint generation in wildcard capture.
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Ahh leuk, ik heb mijzelf opgegeven. Kijken of ik in aanmerking komFiresphere schreef op dinsdag 18 oktober 2016 @ 07:04:
[...]
RIPE Atlas. Gewoon, ik wil'm zo lang mogelijk online hebben.
https://atlas.ripe.net/probes/28226/#!tab-network
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Ik heb nog niet gehoord dat iemand werd afgewezeniRicardo schreef op dinsdag 18 oktober 2016 @ 10:09:
[...]
Ahh leuk, ik heb mijzelf opgegeven. Kijken of ik in aanmerking kom
De probe meet alleen snelheid en verbinding etc. Het snoopt niet je eigenlijke internet verkeer
[ Voor 3% gewijzigd door Firesphere op 18-10-2016 11:15 ]
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Dus welk straatnaam en woonplaats bij dat postcode + huisnummer hoort. Maar man, wat is de BAG extract zo onduidelijk voor mij. Zoveel verschillende bestanden, onduidelijke overheidsdocumentatie.
Kan er niks anders van maken, weet niet eens hoe ik hier een postcodetabel van kan maken.
[ Voor 15% gewijzigd door Hatsieflatsie op 18-10-2016 11:24 ]
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Onderzoeken hoe het werkt en een initiële tijdsinschatting (neem ook onderhoud mee) kan sowieso nooit kwaad. Maar als het niet je core business is, is het wellicht handig om die schatting af te wegen tegen het afnemen van een meer kant en klare DB of api.Hatsieflatsie schreef op dinsdag 18 oktober 2016 @ 11:24:
Ik moet een postcodetabel opbouwen op basis van BAG extract.
Dus welk straatnaam en woonplaats bij dat postcode + huisnummer hoort. Maar man, wat is de BAG extract zo onduidelijk voor mij. Zoveel verschillende bestanden, onduidelijke overheidsdocumentatie.
Kan er niks anders van maken, weet niet eens hoe ik hier een postcodetabel van kan maken.
{signature}
Kun je niet beter gewoon dit aankopen? http://www.cendris.nl/kla...d-database/postcodetabel/Hatsieflatsie schreef op dinsdag 18 oktober 2016 @ 11:24:
Ik moet een postcodetabel opbouwen op basis van BAG extract.
Dus welk straatnaam en woonplaats bij dat postcode + huisnummer hoort. Maar man, wat is de BAG extract zo onduidelijk voor mij. Zoveel verschillende bestanden, onduidelijke overheidsdocumentatie.
Kan er niks anders van maken, weet niet eens hoe ik hier een postcodetabel van kan maken.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Het compiled wel maar ik krijg in m'n IDE wel netjes een "type not within bounds" error. Geen warning, error.RayNbow schreef op dinsdag 18 oktober 2016 @ 08:03:
Het ziet er naar uit dat men het typesystem van Java stuq heeft gemaakt.
Dus tja; dit is wel een beetje in 't gebied van sun.misc.Unsafe
https://niels.nu
In de paper staat ook dat constraint solving een non-deterministisch proces is en dat bepaalde compilers (waaronder bijv. Eclipse) het eerste voorbeeld niet accepteren.Hydra schreef op dinsdag 18 oktober 2016 @ 16:07:
[...]
Het compiled wel maar ik krijg in m'n IDE wel netjes een "type not within bounds" error. Geen warning, error.
Dus tja; dit is wel een beetje in 't gebied van sun.misc.Unsafe
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Eigenlijk is het meer een compiler issue.RayNbow schreef op dinsdag 18 oktober 2016 @ 09:25:
[...]
De pagina bevat ook een link naar hun paper.
[...]
[...]
[...]
Hun
1
| Unsound.<Integer,String>coerce(0) |
is eigenlijk fout.
Die String is geen subclasse van Integer. Dus daar zou die al op fout moeten lopen.
De compiler is geavanceerd, maar heeft ook zijn limitaties. Die ziet de fout dus niet, maar je loopt er in runtime wel tegenaan.
En dat hun in hun code geen classcast doen, zegt niets over wat de compiler voor code genereert.
Bijvoorbeeld een int naar Integer is geen cast in code, maar kijk je naar de bytecode, dan is daar wel een conversie voor nodig.
Ze moeten kijken naar de bytecode die eruit komt. Daar staat meer dan wat je denkt.
let the past be the past.
Hatsieflatsie schreef op dinsdag 18 oktober 2016 @ 11:24:
Ik moet een postcodetabel opbouwen op basis van BAG extract.
Dus welk straatnaam en woonplaats bij dat postcode + huisnummer hoort. Maar man, wat is de BAG extract zo onduidelijk voor mij. Zoveel verschillende bestanden, onduidelijke overheidsdocumentatie.
Kan er niks anders van maken, weet niet eens hoe ik hier een postcodetabel van kan maken.
Of deze op basis van de BAG: https://www.postcodeapi.nu/Skyaero schreef op dinsdag 18 oktober 2016 @ 12:21:
[...]
Kun je niet beter gewoon dit aankopen? http://www.cendris.nl/kla...d-database/postcodetabel/
Let erop dat je de BAG moet blijven vernieuwen omdat je anders geen nieuwe postcodes (of veranderende gemeentegrenzen e.d.) gaat missen.
Wij hebben een eigen BAG server draaien. De updates daarvan hebben we geautomatiseerd, maar alsnog kost het per jaar tijd om het ding goed in de lucht te houden.
Wij hebben vandaag ons grootste project ooit opgeleverd. Dat was een zware bevalling, maar het is wel een erg mooi stuk techniek geworden: Het aan elkaar knopen van allerlei spoorwegen zodat je online een kaartje (zelfs werkend in een app op je mobiel om in te checken e.d.). Onder water boeken we de losse tickets bij de spoorwegmaatschappijen.
Het plan is om hier op termijn wereldwijde dekking te hebben en dat je net zo makkelijk een treinticket boekt als een vliegticket.
Petje af voor het team. Die spreken inmiddels volledig treinjargon.
Nothing to see here!
Omdat het niet altijd duidelijk is welke objecten IDisposable zijn en soms kan je ze niet disposen (Stream in FileResult in ASP bijvoorbeeld).Feanathiel schreef op dinsdag 18 oktober 2016 @ 22:21:
'k Zou mij er eigenlijk minder druk over moeten maken, maar waarom vergeten zoveel mensen het using-statement (C#) te gebruiken waar dat gebruikelijk is?Het halve internet staat vol met foute voorbeelden/referenties.
En je mag je er rustig druk overmaken. Dat .NET memory management (semi-)automatisch doet betekent niet dat je er geen rekening mee moet houden.
"Doubt—the concern that my views may not be entirely correct—is the true friend of wisdom and (along with empathy, to which it’s related) the greatest enemy of polarization." -- Václav Havel
Geen idee, nog nooit meegewerkt. Ik ben groot fan van Robot Framework. Misschien ook is de moeite om te bekijken.Sebazzz schreef op maandag 17 oktober 2016 @ 13:40:
Iemand ervaring hier met Telerik Test Studio?
Ik ben het nu deze tool aan het uitproberen maar ik heb niet het idee dat ik op een hoger of beter niveau zit dan handmatig UI automation tests programmeren in combinatie met SpecFlow. Sterker nog, de tests zijn lastiger te lezen, en je bent eigenlijk gewoon aan het programmeren maar dan in een UI. Het is veel handwerk en constant corrigeren.
Bedoel je dat ze helemaal geen Dispose() aanroepen of dat ze een andere constructie (try finally) gebruiken?Feanathiel schreef op dinsdag 18 oktober 2016 @ 22:21:
'k Zou mij er eigenlijk minder druk over moeten maken, maar waarom vergeten zoveel mensen het using-statement (C#) te gebruiken waar dat gebruikelijk is?Het halve internet staat vol met foute voorbeelden/referenties.
Het tweede zou ik nog kunnen begrijpen (en is ook niet per definitie fout, alleen meer verbose).
Daarnaast lopen er redelijk wat incompetente devs rond die een using nog niet zouden herkennen als ze ermee op hun hoofd zouden worden geslagen.
We are shaping the future
Als men dat had verteld bij de introductie hadden we nu Visual Basic 11 gehad.DevWouter schreef op dinsdag 18 oktober 2016 @ 22:43:
En je mag je er rustig druk overmaken. Dat .NET memory management (semi-)automatisch doet betekent niet dat je er geen rekening mee moet houden.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Want...?SPee schreef op dinsdag 18 oktober 2016 @ 18:21:
[...]
Eigenlijk is het meer een compiler issue.
Hun
Java:
1 Unsound.<Integer,String>coerce(0)
is eigenlijk fout.
Die String is geen subclasse van Integer. Dus daar zou die al op fout moeten lopen.
Kijk naar de type-signature:
1
| static <T,U> U coerce(T t); |
Wat is hier mis mee? Je zegt dat het hier al fout moet lopen, maar ik zie aan dit type niets wat niet kan.
Zie bijv. de volgende invulling:
1
2
3
| static <T,U> U coerce(T t) { return null; } |
Gewoon een geldige instantie van het type ∀T∀U. T → U.
Wat er gecontroleerd moet worden en wat er fout gaat in het Unsound voorbeeld is dat de compiler moet bewijzen dat de method body een waarde van het type U oplevert. De compiler's typechecker levert een foutief bewijs.
Het hele idee van een typesystem is dat je bewijst dat bepaalde zaken niet tijdens runtime voorkomen.De compiler is geavanceerd, maar heeft ook zijn limitaties. Die ziet de fout dus niet, maar je loopt er in runtime wel tegenaan.
Casts zijn een manier om het typesystem te ontwijken. Het is een bewering van de programmeur: "Deze waarde heeft type X." De compiler gelooft zo'n bewering en gaat er vanuit dat de bewijslast bij de programmeur ligt.En dat hun in hun code geen classcast doen, zegt niets over wat de compiler voor code genereert.
Wat de compiler genereert is niet interessant voor de discussie. Als iemand vraagt om een oplossing dat geen gebruikmaakt van gotos en ik schrijf iets als het volgende...
1
2
3
4
5
6
| while (foo) for (int i; i < N; ++i) if (bar) baz(); else quux(); |
...dan beweer je toch vervolgens ook niet dat onderhuids de compiler goto-achtige constructies produceert?
Waarom moeten ze kijken naar de gegenereerde code? Wat heeft dat voor zin in een onderzoek naar typesystems? Dit is pure logica. Een typesystem is niets anders dan een formeel systeem met o.a. axioma's en afleidingsregels. Het eerder gelinkte onderzoek heeft aangetoond dat er wat schort aan de correctheid van Java's typesystem.Bijvoorbeeld een int naar Integer is geen cast in code, maar kijk je naar de bytecode, dan is daar wel een conversie voor nodig.
Ze moeten kijken naar de bytecode die eruit komt. Daar staat meer dan wat je denkt.
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Ik heb het altijd zo raar gevonden dat het een IDisposable *moet* zijn. Waarom niet gewoon elk object met een Dispose-functie toestaan?DevWouter schreef op dinsdag 18 oktober 2016 @ 22:43:
[...]
Omdat het niet altijd duidelijk is welke objecten IDisposable zijn en soms kan je ze niet disposen (Stream in FileResult in ASP bijvoorbeeld). [...]
Omdat het explicieter is? Toevallig een methode met een bepaalde naam hebben versus beloven dat je je aan een bepaalde interface houdt.Caelorum schreef op woensdag 19 oktober 2016 @ 10:12:
[...]
Ik heb het altijd zo raar gevonden dat het een IDisposable *moet* zijn. Waarom niet gewoon elk object met een Dispose-functie toestaan?
Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.

Dan voel je je toch ook slecht als dev. Maar goed, over vier jaar moet alles weer werken.
Bij ons begint de commerciële afdeling al te klagen als bugfixes niet binnen 2 dagen kunnen worden uitgeroldMercatres schreef op woensdag 19 oktober 2016 @ 10:28:
In ander news:
[afbeelding]
Dan voel je je toch ook slecht als dev. Maar goed, over vier jaar moet alles weer werken.
Euh ja, duh
De compiler staat hier gewoon zonder morren een impliciete cast naar een ongerelateerd type toe. Dat zou hij helemaal niet mogen doen!
Even de code erbij pakken ter referentieRayNbow schreef op woensdag 19 oktober 2016 @ 09:25:
Wat er gecontroleerd moet worden en wat er fout gaat in het Unsound voorbeeld is dat de compiler moet bewijzen dat de method body een waarde van het type U oplevert. De compiler's typechecker levert een foutief bewijs.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| class Unsound { static class Constrain<A, B extends A> {} static class Bind<A> { <B extends A> A upcast(Constrain<A,B> constrain, B b) { return b; } } static <T,U> U coerce(T t) { Constrain<U,? super T> constrain = null; Bind<U> bind = new Bind<U>(); return bind.upcast(constrain, t); } public static void main(String[] args) { String zero = Unsound.<Integer,String>coerce(0); } } |
Wat ik niet helemaal snap is deze regel:
10
| Constrain<U,? super T> constrain = null; |
Dit is volgens mij precies het punt waar de compiler zou moeten gaan klagen. Contstrain heeft als constraint dat B een subclass moet zijn van A. Het gebruik van Constrain<U,? super T> in de method body zou dus al tot een fout moeten leiden.
Wat ik echter niet snap is die syntax. Kan iemand een voorbeeld bedenken waarbij je dergelijke syntax zou gebruiken in een method body, en wat dat dan zou betekenen? Waarom zou je dan niet Constrain<U,T> gebruiken?
[ Voor 63% gewijzigd door .oisyn op 19-10-2016 11:21 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
QA ookEddoH schreef op woensdag 19 oktober 2016 @ 10:53:
[...]
Bij ons begint de commerciële afdeling al te klagen als bugfixes niet binnen 2 dagen kunnen worden uitgerold
Read the code, write the code, be the code!
Ik hoop ook nooit iets voor UWV te hoeven te betekenen. Niet als medewerker, niet als klant.Mercatres schreef op woensdag 19 oktober 2016 @ 10:28:
In ander news:
[afbeelding]
Dan voel je je toch ook slecht als dev. Maar goed, over vier jaar moet alles weer werken.
Mooi artikel:Mercatres schreef op woensdag 19 oktober 2016 @ 10:28:
In ander news:
[afbeelding]
Dan voel je je toch ook slecht als dev. Maar goed, over vier jaar moet alles weer werken.
https://www.nrc.nl/nieuws...kwam-ook-1561053-a1289666
Geen idee of het nog steeds zo is.
Ik gebruik dat nu, maar ik moet zeggen: ik ben geen fan!TechnischTester schreef op dinsdag 18 oktober 2016 @ 23:39:
[...]
Geen idee, nog nooit meegewerkt. Ik ben groot fan van Robot Framework. Misschien ook is de moeite om te bekijken.
Het is net programmeren, maar zonder een IDE die je helpt. Enige voordeel is de report die wordt gemaakt voor je. Voor de rest heeft het veel overeenkomsten met Python.
let the past be the past.
En omdat het wellicht anders niet gaat ? C# is een strong-typed language. Indien je dit zou willen laten werken, dan moet je al met een dynamic type gaan werken, en kan je daarbij nog eens runtime-errors hebben indien er dan toch geen Dispose method zou bestaan.kenneth schreef op woensdag 19 oktober 2016 @ 10:16:
[...]
Omdat het explicieter is? Toevallig een methode met een bepaalde naam hebben versus beloven dat je je aan een bepaalde interface houdt.
https://fgheysels.github.io/
Ik vind dat woordje 'weer' uit het bericht intrigerend. Alsof er ooit daadwerkelijk een tijd geweest is waarin het normaal gewerkt heeft.Mercatres schreef op woensdag 19 oktober 2016 @ 10:28:
In ander news:
[afbeelding]
Dan voel je je toch ook slecht als dev. Maar goed, over vier jaar moet alles weer werken.
Never explain with stupidity where malice is a better explanation
Klopt, levert meer dan eens leuke situaties op.wackmaniac schreef op woensdag 19 oktober 2016 @ 11:39:
Altijd een goed teken; wel een Commerciële afdeling, maar geen QA
Ach de 'commerciële afdeling' bestaat ook maar uit 2 man
Omdat het tweede niet SOLID is. Je programeert alles tegen abstracties, maar als je dan in een keer een using statement gaat krijgen, dan gooien we dat principe maar weg?Caelorum schreef op woensdag 19 oktober 2016 @ 10:12:
[...]
Ik heb het altijd zo raar gevonden dat het een IDisposable *moet* zijn. Waarom niet gewoon elk object met een Dispose-functie toestaan?
Dat is natuurlijk nonsens. De compiler weet met welk statische type hij te maken heeft en kan dus gewoon controleren of dat type een Dispose method heeft. Foreach werkt toch ook?whoami schreef op woensdag 19 oktober 2016 @ 11:50:
[...]
En omdat het wellicht anders niet gaat ? C# is een strong-typed language. Indien je dit zou willen laten werken, dan moet je al met een dynamic type gaan werken, en kan je daarbij nog eens runtime-errors hebben indien er dan toch geen Dispose method zou bestaan.
Je stelt dat het zo is, maar ik zie niet in waarom het tegen SOLID zou ingaan. Integendeel, het concept dat een class een specifieke method moet implementeren is abstracter dan een class die een interface moet implementeren.Skyaero schreef op woensdag 19 oktober 2016 @ 13:00:
[...]
Omdat het tweede niet SOLID is. Je programeert alles tegen abstracties, maar als je dan in een keer een using statement gaat krijgen, dan gooien we dat principe maar weg?
[ Voor 33% gewijzigd door .oisyn op 19-10-2016 14:07 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Mercatres schreef op woensdag 19 oktober 2016 @ 10:28:
In ander news:
[afbeelding]
Dan voel je je toch ook slecht als dev. Maar goed, over vier jaar moet alles weer werken.
Nothing to see here!
Ja, ok. Alleen er was, dacht ik, nog een language construct wat er gewoon vanuit gaat dat een bepaalde methode er is en daar wordt niet gekeken naar de interface. Ben even vergeten welke het was.kenneth schreef op woensdag 19 oktober 2016 @ 10:16:
[...]
Omdat het explicieter is? Toevallig een methode met een bepaalde naam hebben versus beloven dat je je aan een bepaalde interface houdt.
foreach. Die vereist alleen dat er een T GetEnumerator() is, en dat dat type T vervolgens een bool MoveNext() en een U Current { get; } heeft.Caelorum schreef op woensdag 19 oktober 2016 @ 13:36:
[...]
Ja, ok. Alleen er was, dacht ik, nog een language construct wat er gewoon vanuit gaat dat een bepaalde methode er is en daar wordt niet gekeken naar de interface. Ben even vergeten welke het was.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ja, die dus ^^ Dank je.oisyn schreef op woensdag 19 oktober 2016 @ 13:44:
[...]
foreach. Die vereist alleen dat er een T GetEnumerator() is, en dat dat type T vervolgens een bool MoveNext() en een U Current { get; } heeft.
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Dit topic is gesloten.
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep voor iedereen in de Devschuur® en niet als vraagbaak.