Code breed of lang?

Alles over programmeren en development binnen de IT-wereld
Plaats reactie
dupondje
Premium Member
Premium Member
Berichten: 645
Lid geworden op: 14 sep 2006, 23:55
Uitgedeelde bedankjes: 1 keer
Bedankt: 53 keer

Widescreen is superhandig om te programmeren :) lekker breed scherm, want met alle toolbars enzo soms aan de zijkant van het scherm :)
//edit meon: dit stond oorspronkelijk in het "Nieuw scherm"-topic: http://www.userbase.be/forum/viewtopic.php?t=14738
crapiecorn
Elite Poster
Elite Poster
Berichten: 2187
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

Code groeit meer in de lengte dan in de breedte. Voor een goed overzicht te bewaren kan je je widescreen beter kantelen.
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 434 keer
Bedankt: 1972 keer

crapiecorn schreef:Code groeit meer in de lengte dan in de breedte.
Bij het modulair coderen blijft de lengte nochtans ook beperkt... tijd voor een rewrite, ipv. nieuwe hardware :lol:
Gebruikersavatar
DarthDavy
Premium Member
Premium Member
Berichten: 489
Lid geworden op: 13 apr 2007, 17:01
Locatie: Roeselare

crapiecorn schreef:Code groeit meer in de lengte dan in de breedte. Voor een goed overzicht te bewaren kan je je widescreen beter kantelen.
Tsjah, in de breedte ook hoor.

Dit is een standaard functie uit één van mijn projecten:

Code: Selecteer alles

<System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, True)> Public Function AddKlant(ByVal Code As Integer, ByVal Bedrijfsnaam As String, ByVal Naam As String, ByVal Straat As String, ByVal Postcode As String, ByVal Gemeente As String, ByVal Provincie As String, ByVal Land As String, ByVal Tel1 As String, ByVal Tel2 As String, ByVal Email As String, ByVal Fax As String, ByVal Opmerkingen As String, ByVal Status As Nullable(Of Integer), ByVal Cash_Credit_Code_Nu As Nullable(Of Integer), ByVal Credit_Limit As Nullable(Of Decimal), ByVal Balance As Nullable(Of Decimal), ByVal VAT_Number As String, ByVal Country_Code As String, ByVal Customer_Reference As String, ByVal Number_of_Volvo_Vehicles As Nullable(Of Integer), ByVal Number_of_NonVolvo_Vehicles As Nullable(Of Integer), ByVal CDB_Code As String, ByVal Web_Address As String, ByVal Additional_Phone_Number_1 As String, ByVal Additional_Phone_Number_2 As String, ByVal Additional_Phone_Number_3 As String, ByVal Natureza_Juridica As String, ByVal CGC_CPF_Number As String) As Boolean
Intel Core 2 Duo E6600 - 2GB DDR2 SDRAM PC5300 - MSI P965 Platinum - GeForce 7900GTX 512MB DDR3 - Western Digital 150GB 16MB Raptor - Western Digital 250GB 16MB - Zalman Powersupply ZM-460-APS 460W - Thermaltake Soprano VB1000SWS
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16757
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 582 keer
Bedankt: 780 keer
Provider

Dat kan je ook leesbaar onder mekaar zetten eh :-)

Code: Selecteer alles

Public Function AddKlant(
 ByVal Code As Integer, 
 ByVal Bedrijfsnaam As String, 
 ByVal Naam As String, 
 ByVal Straat As String, 
 ByVal Postcode As String, 
 ByVal Gemeente As String, 
 ByVal Provincie As String, 
 ByVal Land As String,
 ...
Je kan quasi elke taal (oké, geen VB) op 1 regel schrijven als ge wilt ...
Gebruikersavatar
DarthDavy
Premium Member
Premium Member
Berichten: 489
Lid geworden op: 13 apr 2007, 17:01
Locatie: Roeselare

Op die manier ben je dan weer geen gebruik aan het maken van je widescreen scherm :p
Intel Core 2 Duo E6600 - 2GB DDR2 SDRAM PC5300 - MSI P965 Platinum - GeForce 7900GTX 512MB DDR3 - Western Digital 150GB 16MB Raptor - Western Digital 250GB 16MB - Zalman Powersupply ZM-460-APS 460W - Thermaltake Soprano VB1000SWS
nogChoco
Premium Member
Premium Member
Berichten: 713
Lid geworden op: 11 mei 2007, 20:02

Beetje offtopic, maar DarthDavy: kon je geen (nested) class gebruiken om al die parameters als 1 object te bundelen? ('t Is maar een suggestie)
crapiecorn
Elite Poster
Elite Poster
Berichten: 2187
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

meon schreef:Dat kan je ook leesbaar onder mekaar zetten eh :-)

Code: Selecteer alles

Public Function AddKlant(
 ByVal Code As Integer, 
 ByVal Bedrijfsnaam As String, 
 ByVal Naam As String, 
 ByVal Straat As String, 
 ByVal Postcode As String, 
 ByVal Gemeente As String, 
 ByVal Provincie As String, 
 ByVal Land As String,
 ...
Je kan quasi elke taal (oké, geen VB) op 1 regel schrijven als ge wilt ...
Niet een paar underscores vergeten ? ;-)
crapiecorn
Elite Poster
Elite Poster
Berichten: 2187
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

DarthDavy schreef:[

Tsjah, in de breedte ook hoor.

Dit is een standaard functie uit één van mijn projecten:

Code: Selecteer alles

<System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, True)> Public Function AddKlant(ByVal Code As Integer, ByVal Bedrijfsnaam As String, ByVal Naam As String, ByVal Straat As String, ByVal Postcode As String, ByVal Gemeente As String, ByVal Provincie As String, ByVal Land As String, ByVal Tel1 As String, ByVal Tel2 As String, ByVal Email As String, ByVal Fax As String, ByVal Opmerkingen As String, ByVal Status As Nullable(Of Integer), ByVal Cash_Credit_Code_Nu As Nullable(Of Integer), ByVal Credit_Limit As Nullable(Of Decimal), ByVal Balance As Nullable(Of Decimal), ByVal VAT_Number As String, ByVal Country_Code As String, ByVal Customer_Reference As String, ByVal Number_of_Volvo_Vehicles As Nullable(Of Integer), ByVal Number_of_NonVolvo_Vehicles As Nullable(Of Integer), ByVal CDB_Code As String, ByVal Web_Address As String, ByVal Additional_Phone_Number_1 As String, ByVal Additional_Phone_Number_2 As String, ByVal Additional_Phone_Number_3 As String, ByVal Natureza_Juridica As String, ByVal CGC_CPF_Number As String) As Boolean
Volgens de meeste conventions moet je zo functie opsplisen in meerdere lijnen, dit is totaal onleesbaar.
Beostar
Member
Member
Berichten: 73
Lid geworden op: 29 mei 2007, 09:48

nogChoco schreef:Beetje offtopic, maar DarthDavy: kon je geen (nested) class gebruiken om al die parameters als 1 object te bundelen? ('t Is maar een suggestie)
Inderdaad lijkt mij een beter idee dan alles als parameter meegeven. Beetje refactoring toepassen ;)
Gebruikersavatar
DarthDavy
Premium Member
Premium Member
Berichten: 489
Lid geworden op: 13 apr 2007, 17:01
Locatie: Roeselare

nogChoco schreef:Beetje offtopic, maar DarthDavy: kon je geen (nested) class gebruiken om al die parameters als 1 object te bundelen? ('t Is maar een suggestie)
Om dan maar helemaal off-topic te gaan, maar jah, die function bestaat ook met als parameter een klasse die een klant-object aanvaardt, maar er zijn een boel situaties waarbij AddKlant moet uitgevoerd worden waarbij de klasse Klant helemaal geen nut heeft en dan kan ik de keuze gaan maken door voor iedere van die situaties een eigen overloaded AddKlant te gaan schrijven of ik schrijf 1 generieke AddKlant die met alle situaties overweg kan (let erop dat al mijn parameters nullable objecten zijn, behalve de strings omdat die niet nullable kunnen zijn en dan als Nothing doorgegeven worden).

Ik heb dus de keuze gemaakt om 1 generieke functie te schrijven, maar dat is natuurlijk ook niet alles omdat je dan aanroepen krijgt, die parameters als Nothing of als New Nullable(Of Integer) doorgeven.

Als ik eens de tijd heb, ga ik wel eens een klasse schrijven die deze situaties omzeilt. Erg prioritair staat dit niet op het programma, omdat het ding doet wat het moet doen (klant maalt niet om 'dirty' code).
crapiecorn schreef:
Volgens de meeste conventions moet je zo functie opsplisen in meerdere lijnen, dit is totaal onleesbaar.
Ik was maar een voorbeeldje aan het geven dat widescreen wel handig kan zijn. En deze functie is opgesplitst met underscores in verschillende lijnen.

Mental note: geen stukjes code meer posten... 8)
Intel Core 2 Duo E6600 - 2GB DDR2 SDRAM PC5300 - MSI P965 Platinum - GeForce 7900GTX 512MB DDR3 - Western Digital 150GB 16MB Raptor - Western Digital 250GB 16MB - Zalman Powersupply ZM-460-APS 460W - Thermaltake Soprano VB1000SWS
BungaMan
Elite Poster
Elite Poster
Berichten: 1485
Lid geworden op: 16 nov 2005, 09:05

met de juiste ide kan je ook de pagina in 2 schermen opsplitsen en dan komt een breedbeeld ook goed van pas.
Please help, looking for a way to get rich and fast
crapiecorn
Elite Poster
Elite Poster
Berichten: 2187
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

r2504 schreef:
crapiecorn schreef:Code groeit meer in de lengte dan in de breedte.
Bij het modulair coderen blijft de lengte nochtans ook beperkt... tijd voor een rewrite, ipv. nieuwe hardware :lol:
Modulair coderen verhoogt de leesbaarheid niet altijd. Bv als je van een for lus en een daarin geneste lus 1 lus maakt. ipv die geneste lus gebruik je dan een berekening voor de 2de waarde. De volgende die dit leest zal er niet zo vlot overgaan. Ook ternaire operatoren vind ik niet zo vlot lezen.
Gebruikersavatar
DarthDavy
Premium Member
Premium Member
Berichten: 489
Lid geworden op: 13 apr 2007, 17:01
Locatie: Roeselare

Wat zijn ternaire operatoren?
Intel Core 2 Duo E6600 - 2GB DDR2 SDRAM PC5300 - MSI P965 Platinum - GeForce 7900GTX 512MB DDR3 - Western Digital 150GB 16MB Raptor - Western Digital 250GB 16MB - Zalman Powersupply ZM-460-APS 460W - Thermaltake Soprano VB1000SWS
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 434 keer
Bedankt: 1972 keer

DarthDavy schreef:Wat zijn ternaire operatoren?
Verkorte versie van IF/ELSE toestanden, ook wel eens de IIF.

Wat de opmerking van de lus betreft ben ik trouwens niet mee... van twee lussen één maken (evenals ternaire operatoren) heeft wat mij betreft niets te maken met modulair programmaren.

En van de functie AddKlant hierboven krijg ik helemaal kriebels (en gaat tegen alle regels van elementair object oriented design in).
crapiecorn
Elite Poster
Elite Poster
Berichten: 2187
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

Heeft niets met de essentie van Modulair te maken, maar wordt soms gebruikt om modules klein te houden. Al zijn "modules" tegenwoordig wel verleden tijd.
Gebruikersavatar
DarthDavy
Premium Member
Premium Member
Berichten: 489
Lid geworden op: 13 apr 2007, 17:01
Locatie: Roeselare

De IIF is wel trager dan de conventionele IF...ELSE... constructie. Zeker in VB.

In C bestaat die ook, maar ik ken die eerder als de conditionele operator:

Code: Selecteer alles

expressie 1 : expressie 2 ? expressie 3
voorbeeld:

Code: Selecteer alles

int min, a, b;
    a = 5;
    b = 3;
    min = a < b ? a : b;
Zeker handiger dan schrijven:

Code: Selecteer alles

if a < b
min = a;
else
min = b;
Intel Core 2 Duo E6600 - 2GB DDR2 SDRAM PC5300 - MSI P965 Platinum - GeForce 7900GTX 512MB DDR3 - Western Digital 150GB 16MB Raptor - Western Digital 250GB 16MB - Zalman Powersupply ZM-460-APS 460W - Thermaltake Soprano VB1000SWS
wem
Premium Member
Premium Member
Berichten: 666
Lid geworden op: 24 mei 2004, 14:48

maar ook minder leesbaar vind ik persoonlijk.
Gebruikersavatar
Ofloo
Elite Poster
Elite Poster
Berichten: 5271
Lid geworden op: 04 okt 2004, 07:36
Locatie: BALEN
Uitgedeelde bedankjes: 57 keer
Bedankt: 92 keer

Persoonlijk ben ik zo verbose mogelijk en wrap ik zo weinig mogelijk, ik vind het makkelijker om achteraf dan iets terug te vinden, indien het verkeerd is, trouwens ik vind dat ik op deze manier ook minder fouten maak.
BungaMan
Elite Poster
Elite Poster
Berichten: 1485
Lid geworden op: 16 nov 2005, 09:05

DarthDavy schreef:De IIF is wel trager dan de conventionele IF...ELSE... constructie. Zeker in VB.
het gaat hier dan ook niet over hetzelfde. IFF is een functie en het zou me niet verwonderen als daar bij vb nog wat extra validatie achter steekt.

expressie 1 : expressie 2 ? expressie 3
zal dan weer wel naar dezelfde bytecode compileren als
if (expressie 1)
expressie 2
else
expressie 3
gewoon een andere schrijfwijze dus
Please help, looking for a way to get rich and fast
Gebruikersavatar
GeertAki
Pro Member
Pro Member
Berichten: 276
Lid geworden op: 09 jan 2006, 13:28
Locatie: Mechelen
Uitgedeelde bedankjes: 1 keer

Ik vind die verkorte if-structuur anders leesbaarder dan de lange vorm, omdat je met heel weinig te lezen alles weet.

In java:

Code: Selecteer alles

int min = (a < b) ? a : b;
Voor de rest vind ik dat bij elk code-blok (ook al is het slechts één lijn) accolades horen. Dat verkleint de kans op bugs, aangezien het telkens duidelijk afgescheiden is en als je een if-hebt met slechts één statement in en nadien komt er een tweede statement bij (door een andere programmeur of door jezelf), dan kan je die accolades wel eens vergeten toevoegen, zeker als je code niet goed geformatteerd was.

Ik stel mijn instellingen hier ook wel op 120 karakters per regel ipv de standaard 80. Dat werkt prettiger vind ik.
crapiecorn
Elite Poster
Elite Poster
Berichten: 2187
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

GeertAki schreef:Ik vind die verkorte if-structuur anders leesbaarder dan de lange vorm, omdat je met heel weinig te lezen alles weet.

In java:

Code: Selecteer alles

int min = (a < b) ? a : b;
Voor de rest vind ik dat bij elk code-blok (ook al is het slechts één lijn) accolades horen. Dat verkleint de kans op bugs, aangezien het telkens duidelijk afgescheiden is en als je een if-hebt met slechts één statement in en nadien komt er een tweede statement bij (door een andere programmeur of door jezelf), dan kan je die accolades wel eens vergeten toevoegen, zeker als je code niet goed geformatteerd was.

Ik stel mijn instellingen hier ook wel op 120 karakters per regel ipv de standaard 80. Dat werkt prettiger vind ik.
Daarom vind ik talen als python, vb ook minder leesbaar. Als je bv hebt leren programmeren met een C like syntax en dan moet je VB leren , not cool. Ik kan de keren niet meer tellen dat ik set methods typ ipv bla.property =
Gebruikersavatar
SantaSCSI
Pro Member
Pro Member
Berichten: 411
Lid geworden op: 15 maa 2007, 17:38

Brede code is mijns inziens niet leesbaar. Ik probeer toch qua overzicht niet teveel op 1 lijn te zetten.

Ik gebruik liever breedbeeld om in HTML meerdere paginas op het scherm te displayen. Vooral in combinatie met Javascript en XML is multiwindow wel fijn werken.
Gebruikersavatar
DarthDavy
Premium Member
Premium Member
Berichten: 489
Lid geworden op: 13 apr 2007, 17:01
Locatie: Roeselare

crapiecorn schreef: Daarom vind ik talen als python, vb ook minder leesbaar. Als je bv hebt leren programmeren met een C like syntax en dan moet je VB leren , not cool. Ik kan de keren niet meer tellen dat ik set methods typ ipv bla.property =
Dan pak je toch gewoon C# ipv VB, net hetzelfde.

Ik heb ooit ook een project in Python gedaan. Ik vond het best een leutige taal zo zonder declaraties en code-blokken door netjes te indenteren. Python verplicht je wel van goed te indenteren en dat vind ik wel goed (als ik zo soms de code van sommige C-programmeurs zie... jeeeees... hun accolades staan er wel, maar de indentatie springt van links naar rechts... ook niet echt leesbaar hoor).
Intel Core 2 Duo E6600 - 2GB DDR2 SDRAM PC5300 - MSI P965 Platinum - GeForce 7900GTX 512MB DDR3 - Western Digital 150GB 16MB Raptor - Western Digital 250GB 16MB - Zalman Powersupply ZM-460-APS 460W - Thermaltake Soprano VB1000SWS
Gebruikersavatar
GeertAki
Pro Member
Pro Member
Berichten: 276
Lid geworden op: 09 jan 2006, 13:28
Locatie: Mechelen
Uitgedeelde bedankjes: 1 keer

Is toch kwestie van de formatting functie van uw IDE te gebruiken?
nogChoco
Premium Member
Premium Member
Berichten: 713
Lid geworden op: 11 mei 2007, 20:02

Voor mij hebben accolades en consoorten (de parenthesis hel van LISP, bijvoorbeeld) enkel nut bij scripting talen. Voor loutere programmeertalen vind ik het logischer dat de IDE de layout regelt, niet de taal zelf.

Als de layout deel uitmaakt van de taal, bestaat de kans dat er fouten tegen gemaakt worden, wat nogal overbodig is, vind ik.
Gebruikersavatar
DarthDavy
Premium Member
Premium Member
Berichten: 489
Lid geworden op: 13 apr 2007, 17:01
Locatie: Roeselare

Jullie spreken allemaal over IDE's en tegenwoordig kan ik ook niet meer zonder, maar toen ik leerde progammeren was toch maar meestal gewoon in notepad (allez, en iets meer geavanceerde versie natuurlijk) en van IDE's en formatting functies was er nog geen sprake.

En ik programmeer nu nog altijd vaak in geavanceerde teksteditors zoals UltraEdit of Notepad++.
Intel Core 2 Duo E6600 - 2GB DDR2 SDRAM PC5300 - MSI P965 Platinum - GeForce 7900GTX 512MB DDR3 - Western Digital 150GB 16MB Raptor - Western Digital 250GB 16MB - Zalman Powersupply ZM-460-APS 460W - Thermaltake Soprano VB1000SWS
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 434 keer
Bedankt: 1972 keer

DarthDavy schreef:maar toen ik leerde progammeren
Toen... tja, toen had m'n computer ook maar 1 KB geheugen, en later hadden we een Pascal compiler en editor tesamen die slechts 32 KB groot was. Vandaag de dag is het splashscreen al groter dan 32 KB :lol:
Gebruikersavatar
DarthDavy
Premium Member
Premium Member
Berichten: 489
Lid geworden op: 13 apr 2007, 17:01
Locatie: Roeselare

Splashscreens zijn zoooooo 2002 :lol:
Intel Core 2 Duo E6600 - 2GB DDR2 SDRAM PC5300 - MSI P965 Platinum - GeForce 7900GTX 512MB DDR3 - Western Digital 150GB 16MB Raptor - Western Digital 250GB 16MB - Zalman Powersupply ZM-460-APS 460W - Thermaltake Soprano VB1000SWS
Plaats reactie

Terug naar “Development”