[C++/ASP] Professionele mening over code

Pagina: 1
Acties:

  • Exe-cuter
  • Registratie: September 2001
  • Laatst online: 11-09-2023
Dit topic is geopend na overleg met de P&W crew, gaarne dus alleen inhoudelijke reacties

Ik ga proberen mijn verhaal zo kort en duidelijk mogelijk te formuleren,maar eigenlijk zou het zo een lange tekst worden dat het niet meer prettig lezen is :


Ik ben vorig jaar mijn opleiding Informatica begonnen , dus kregen we een tijdje de basis van oa ASP en Visual C++ (console omgeving) . Op de programmeervakken haal ik zonder twijfel de beste resultaten uit de klas,dus ook ASP en VC++ vielen me makkelijk. :+
Nu wil het toeval dat onze leerkracht eigenlijk zonder motivatie voor de klas staat en zijn vakken totaal niet kent.Net toen de eindexamens in juni begonnen werd hij "ziek" en dit voor de hele examenperiode (mede door problemen op school).Hij zou wel aanwezig zijn bij de rapportuitrijking.
Tijdens het maken van onze testen hadden we telkens een vervangende leerkracht,maar hij zou de testen thuis verbeteren. 8)7

Conclusie :
Tijdens de rapportuitrijking was onze leerkracht nog steeds afwezig en kon dus geen uitleg verstrekken.Bij het bekijken van mijn punten viel het me even zwaar tegen. Op al de vakken van onze zieke vriend had ik 10-30% minder punten dan verwacht . Enkel op PC-techieken had ik 97% , wat net de enige toets was die zwart op wit op papier is gemaakt. :(

Vooral de punten van VC++ en ASP vielen me zwaar tegen.Voor ASP had ik +-100% verwacht en voor VC++ toch ook minstens 95%. Als ik nadien keek naar de punten van medeleerlingen,zag ik dat ze evenveel of zelfs meer als mij hadden op de vakken terwijl ze vreesden voor een onvoldoende.
Ik ben direct naar de directeur gestapt, waarmee ik even gepraat heb over de problemen van de klas vs. de leerkracht.Aan mijn punten gingen ze niks meer veranderen omdat die toch nog zeer goed waren.Men heeft dit jaar de uren van de leerkracht wel geknipt van 9u/week naar 2uur en deze vakken doorgegeven naar een andere leerkracht.

Gisteren op school startte ik mijn pc daar na bijna 3 maanden eens opnieuw op om tot de conclusie te komen dat mijn toetsen nog niet verwijderd waren.

In de volgende 2 postst zal ik achtereenvolgens mijn test van ASP en VC++ neerzetten (om het overzicht te bewaren) en de opdracht van bijna 3 maanden geleden zo goed mogelijk proberen uit te leggen .

Gelieve deze code door te nemen , er punten (in% ) aan toe te wijzen en eventueel de fouten melden

Houd aub in gedachte dat we slechts enkele lessen ASP hebben gekregen en jullie de code mss belachelijk/ongeoptimaliseerd vinden.De toets van VC++ was er eigenlijk een van Turbo Pascal en bevatte delen die we nog niet gezien hadden.Hierdoor is de code niet echt super te noemen. Ik wil met deze topic een EERLIJK antwoord,hoe goed of hoe slecht het mag zijn. Leerkrachten moeten hun werk goed doen.Punt uit. _/-\o_

Bedankt !

  • Exe-cuter
  • Registratie: September 2001
  • Laatst online: 11-09-2023
Het Zip-bestand met de code

In "bestel.asp" moesten we onze naam,adres en verdere gegevens invullen in het bestelformulier.Onder op de pagina moesten we invullen hoeveel we van elk product wilden bestellen.
Door op verzenden de klikken werd er eerst met JS gecontroleerd of er wel een naam was ingevuld (verdere controles waren niet nodig)

De gegevens werden vervolgens doorgestuurd naar "bestel2.asp" , dat de bedragen opvroeg , optelde en vervolgens een mooie bevestiging van aankop toonde.

[ Voor 4% gewijzigd door Exe-cuter op 12-09-2003 19:43 ]


  • Exe-cuter
  • Registratie: September 2001
  • Laatst online: 11-09-2023
Het Zip-bestand met de code

In oefening 1 moesten we 3 getallen kunnen ingeven , die vervolgens op grootte werden gesorteerd.We moesten gebruik maken van een functie.

In oefening 2 moesten we een programma maken,dat de som en verschil gaf van 2 getallen.In het "menu" konden we dan kiezen voor Getallen ingeven,Som&Verschil en Einde.Drukte je eerst op keuze 2 , dan kreeg je waarschuwing dat je nog geen getallen had ingegeven,waardoor je dus eerst optie 1 moest kiezen.

Aan de code van oef2 zie je dat ik nog weinig kennis heb van C++ , maar ik was 1 van de weinigen in de klas die iets bruikbaars van deze opdracht heeft kunnen maken.:)


Greets,Exe-cuter

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Voor de ASP oefening; ik wil hem sowieso nakijken, maar ik heb iets meer info nodig, wil ik niet alleen een globale beoordeling kunnen geven. Het je iets van oefenopgaven, ter referentie? En hoe ver gaat de stof qua coding styles?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Exe-cuter
  • Registratie: September 2001
  • Laatst online: 11-09-2023
Spijtig genoeg heb ik niet meer de oefenopgaven van toen,dus ik kan jullie niet zeggen welke kennis er van mij verwacht was. Tijdens het coden moeten we er op letten dat we mooi met tabs werken en de code overzichtelijk houden.Hier heb ik nog lang aan gewerkt (omdat ik toch op de bus moest wachten) om het toch maar piekfijn in orde te hebben.

Edit :

Alles wat je ziet van lay-out in de ASP oefeningen (lijnen,alignments,fonts) heb ik ook allemaal extra toegevoegd.Dit was dus niet vereist

[ Voor 19% gewijzigd door Exe-cuter op 12-09-2003 19:49 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Ik kan me best voorstellen dat er een en ander aan je ASP-code schort. Om te beginnen

bestel.asp
Wat me hier als eerste opvalt is dat .asp eigenlijk volstrekt overbodig is. Je gebruikt alleen html code. Waarom dan de asp parser belasten?

Daarnaast vind ik de naamgeving vrij onlogisch (aantal1, aantal2, aantal3)

Op de javascript kan aangemerkt worden dat deze relatief inflexibel is. Stel je wilt meerdere elementen toevoegen, dan kan dit niet echt makkelijk, behalve door c/p'en.

Wat ook jammer is, is dat de check niet terugkomt aan de serverside kant, dus in bestel2.asp. De gouden regel is: Vertrouw NOOIT user input. Je kan namelijk een fakepagina maken, waardoor je hele gekke resultaten krijgt. Oftewel: de clientsidecheck is in principe te makkelijk omheen te komen om als check te dienen.

bestel2.asp
Bestel2 schort naar mijn idee ook wat aan, wil je het echt goed doen. Wat ik erg mis is coden met Option Explicit, en dan met name het declaren van variabelen.
Nergens gebruik je dim.

Ook je naamgeving is niet consequent. Zo zie ik inttotaal staan. Dit is niet correct, per definitie kan dit geen integer zijn, maar moet dit een double zijn. (Immers, een integer kent geen decimalen, terwijl een bedrag wel decimalen heeft)
Ook hier zijn weer de namen niet declared.

Verder post je door middel van een querystring, waardoor een en ander wel redelijk beinvloedbaar kan worden. Waarom doe je niet door middel get?

Wat ik ook niet echt netjes vindt is dat ik door de hele applicatie heen Request.Querystring zie. Ik zou er neits op tegen hebben om op een centrale plaats alles in te lezen en in variabelen te plaatsen.
Een heel mooi voorbeeld is dat je 2x Request.Querystring("aantal1") oproept.
Naar mijn idee had het moeten zijn:
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
' ***************************
'
' Declaraties 
'
' ***************************

Dim iAantalBriefpapier

iAantalBriefpapier = Request.Querystring("aantal1")

' ********************************
' 
' Controle van inputvariabelen
'
' *********************************
If Not IsNumeric(iAantalBriefpapier) Then

    iAantalBriefpapier = 0

End if

En vanaf dat punt alles doorrekenen met iAantalBriefpapier.

Wat ik mis; hoe klein ook, is enige vorm van comments of commentaar. Wat doet er op een bepaalde plek. Zo had je de optelling van een klein commentaar kunnen voorzien. Nu denk je: overbodig; 't is eenvoudig, maar aan de andere kant; de grotere projecten ga je gigantisch de mist mee in.

Ook de foutafhandeling is slecht. Stel ik vul in als aantal een alfanumeriek karakter. Ik krijg op dat moment een parser error. Deze hoort netjes afgevangen te worden; zowel clientside door middel van bestel.asp als serverside in bestel2.asp. Een mogelijkheid is te controleren door middel van IsNumeric().

Een ander puntje van kritiek: de herbruikbaarheid van data. Je hebt drie prijzen staan, en je hebt drie keer een getal ingevuld. Stel dat een prijs wijzigt, dan moet je dit op drie plaatsen wijzigen, wat naar mijn een idee een gevaar vormt van incorrectheden. In ieder geval had je hier op bestel2.asp rekening mee moeten houden, eigenlijk ook extra op bestel.asp.

Verder gebruik je de functie Int(). Persoonlijk denk ik dat je moet expliciet casten naar een int en dus CInt() moet gebruiken, iig voor de netheid.

Hoewel je de opdracht hebt uitgevoerd en het allemaal werkt, heb ik wel een aantal kanttekening bij de wijze waarop het tot stand komt.

De html heb ik verder niet op gelet; dat laat ik graag aan WG'ers over.

Het uitlijnen van de code, c.q. inspringen, heb je wel netjes gedaan. Echter, dit is naar mijn idee geen pluspunt, maar een vereiste. (Best kans dat je met een bende niet eens een voldoende had gekregen)

conclusie
Als beoordeling zal dit zeker een voldoende krijgen, echter geen hoge voldoende.
De voldoende krijg je omdat het basisidee werkt. Ik gok rond de 60% - 65% (van de 100%) dat een mooie score is. Voornamelijk het slechte testen, icm de makkelijke mogelijk tot crashen en de het ronduit ontbreken van commentaar, zou ik je zwaar aanrekenen.
Ook een onderdeel van de opdracht, de verplichte check op naam, is zwak uitgevoerd. Het lijkt goed, alleen mist deze de veiligheid van een serverside check.

De kern van ontwikkelen bestaat imho niet uit het coden, maar ook uit het debuggen, testen en documenteren. Bij deze laatsten schiet je duidelijk te kort. Als 'bonuspunten', dus voor de 10, hoor je naar mijn idee de reusuability / herbruikbaarheid mee te nemen; dit heb je niet gedaan.

[edit]
Met coding styles bedoelde ik dat je bijvoorbeeld de Hungarian Notation moet gebruiken, camel casing, pascal casing, etc.

[ Voor 111% gewijzigd door gorgi_19 op 12-09-2003 20:40 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Ik heb net even de ASP opgave bekeken en het eerste dat me opvalt is dat je het formulier submit met GET ipv POST waardoor je jezelf in bestel2.asp dwingt om de ingevulde velden uit de querystring te halen ipv met de daarvoor bestemde Request.Form..

  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 23:30
Even over de 1e C++ code je gaat ook wisselen als ze gelijk zijn dit is natuurlijk overbodig en zal dus iets aan aftrek tot gevolge hebben.

En over de naamgeving, ik vind bijvoorbeeld maakmenu niet zo mooi in mijn ogen zou het beter zijn om maakMenu te gebruiken hierdoor is het duidelijk dat het een samenstelling van woorden is. Als je dan bijvoorbeeld ook nog maakKleur maakCode etc. hebt zijn ze sneller uit elkaar te houden.
Evenals de algenoemde getal1 getal2 getal3 ga dat maar eens in een groot programma doen dan word je hartstikke gek.

Daarnaast heb ik ook nog geen commentaar gezien. Dus dat je geen 10 hebt is vrij logisch.

[ Voor 72% gewijzigd door Eskimootje op 12-09-2003 19:57 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 04:06

.oisyn

Moderator Devschuur®

Demotivational Speaker

* .oisyn buigt zich over de C++ code :)

opdracht 1
C++:
1
2
#include <iostream.h>
#include <conio.h>


Die iostream moet zonder .h, met als gevolg dat alle standaard C++ typen en objecten in de std namespace staan. Het wordt dan iets als
C++:
1
std::cout << "hoi" << std::endl;

Maar goed, dat ligt er maar net aan wat je geleerd hebt, maar tegenwoordig zijn de .h varianten dus FOUT in C++

conio.h is GEEN ansi C
de getch () functie die daarin staat mag je dus ook eigenlijk niet gebruiken

C++:
1
int intgetal1,intgetal2,intgetal3 ,grootstegetal;


globale variabelen zijn over het algemeen vies, en in dit geval nergens voor nodig. Je kunt ze ook gewoon in main () definieren

C++:
1
void main()


main dient een int als returntype te hebben.

C++:
1
2
3
cout << "Geef het eerste getal in : ";
cin >> intgetal1;
cout << "Geef het tweede getal in : ";


dat werkt natuurlijk wel, mits je goede getallen invoert natuurlijk. Controle op error lijkt me wel zo gewenst

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void grootste (int getal1, int getal2 , int getal3)
{
int tempgetal;
if (getal3<= getal1)
{
    tempgetal = getal1;
    getal1 = getal3;
    getal3 = tempgetal;
}
if (getal3 <= getal2)
{
    tempgetal = getal3;
    getal3 = getal2;
    getal2 = tempgetal;
}

if (getal1 >= getal2)
{
    tempgetal = getal1;
    getal1 = getal2;
    getal2 = tempgetal;
}


intgetal1 = getal1;
intgetal2 = getal2;
intgetal3 = getal3;

}


dit is gewoon ronduit fout, het doet namelijk niets. Ja, je sorteert naar grootte, maar het zijn slechts kopieen die je hebt meegegeven. Als de functie retourneert dan is er niets gewijzigd aan de originele intgetal1 t/m 3

niet goed gekeken, je past namelijk de globals aan aan het eind van de functie. Erg foute aanpak moet ik zeggen. Als je van die int parameters nou pointers of references had gemaakt, dan had je ook geen gebruik hoeven te maken van die globale parameters. Want wat als je nu 3 andere ints wilt sorteren? Dan moet je gebruik maken van die voorgedefinieerde intgetal1 t/m 3, dat lijkt me nauwelijks de bedoeling. Verder idd nog wat _Mo_ hieronder mij zegt, de naam "grootste" voor de functie is alles behalve juist. Het geeft helemaal niet de grootste terug, maar het sorteert de 3 ints.

Nu ga ik opdracht 2 bekijken, mijn commentaar edit ik daarna achter deze post :)


Opdracht 2

Allereerst de fouten van 1 natuurlijk, maar dat telt niet echt dubbel.

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
void maakmenu()
{
cout << "        Maak je menukeuze : " ;
cin >> menukeuze;

//Menukeuze

    if (menukeuze == 1)
    {
        geefgetalin();
    }
    
    if (menukeuze == 2)
    {
        if (getal1 == 0 && getal2 == 0)
        {
            cout <<endl << "Je hebt nog geen getallen ingegeven of getallen zijn 0"<<endl << endl;
            getch();
            maakmenu();
        }
            else
            {
            bereken (getal1 , getal2);
            }           
    }

    if (menukeuze == 3)
    {
    cout <<endl << endl << endl << endl << "Tot de volgende keer" << endl;
    getch();
    }
menukeuze = 0;
}

void geefgetalin()
{
// .. knip ..
maakmenu ();
}

void bereken(int get1,int get2)
{
// .. knip ..
maakmenu();
}


Dit is wel een hele vieze constructie. Je roept functies aan vanuit je functies. Als je dus 3x voor "getallen invoeren" kiest, zit je dus al 3x in geefgetalin. Nou gaat dit niet zo snel, maar je stack is ook maar een beperkt stukje geheugen. Als je oneindig veel keer die optie zou kiezen, zou je dus uiteindelijk een stack overflow krijgen. Lijkt me een slecht ontwerp. Heb je al eens aan een lusje gedacht, zoals een for-lus of een while-lus?

Ik beraad me nog over je cijfer :)


Evaluatie

Ok, voor zover ik kan zien doen de programma's wel wat de opdracht voorschrijft. Ik heb het niet getest, maar ik zag zo snel even geen fouten wat dat betreft. Een erg belangrijk minpunt is dat je geen foutafhandeling doet. Oftewel, het gaat goed zolang jij je aan het programma houdt, maar als je wat anders doet dan loopt het finaal de soep in. Dit is de #1 bug in hedendaagse programma's, en het resulteert dan ook in erg veel puntenaftrek.

Ten tweede de structuur van je programma. Je gebruikt overal globale variabelen, terwijl dat helemaal niet nodig is. De functie grootste () verwacht 3 parameters, terwijl het resultaat naar globale variabelen wordt geschreven. Als je die globale parameters dan toch al gebruikt, waarom die 3 parameters? En verder doet grootste () ook totaal niet wat hij voor moet stellen: hij geeft niet de grootste terug, hij sorteert namelijk 3 getallen.
De structuur in de 2e opdracht is ook allesbehalve duidelijk. Je roept de ene functie aan na de andere, en je bent in principe zo de draad kwijt. Nergens voor nodig: een simpel lusje en je bent er ook.

En verder nog wat semantische fouten. iostream.h is deprecated, main retourneert een int, dat soort dingen. Niet heel erg belangrijk, maar weegt zeker wel mee.

Ik zou je er 50% voor gegeven hebben. Die 50% omdat je programma wel werkt en doet wat de opdracht voorschijft, maar daar is dan ook alles mee gezegd. Het niet afhandelen van fouten zou ik voor 30% mee hebben laten tellen, en 15% voor de structuur. Die overige 5% zijn dus de kleinere dingetjes.

Nou ben ik geen docent, dus ik zou eigenlijk niet weten hoe ik moet waarderen, en bovendien weet ik totaal niet wat voor stof je hebt gehad, maar ik kan wel met zekerheid zeggen dat het bij lange na niet in de buurt van 95% zit, en ik denk dat je reuze blij moet zijn dat je alsnog 75% hebt gekregen

[ Voor 74% gewijzigd door .oisyn op 12-09-2003 20:57 ]

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.


  • ^Mo^
  • Registratie: Januari 2001
  • Laatst online: 04-11-2025
.oisyn schreef op 12 september 2003 @ 20:11:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void grootste (int getal1, int getal2 , int getal3)
{
int tempgetal;
if (getal3<= getal1)
{
    tempgetal = getal1;
    getal1 = getal3;
    getal3 = tempgetal;
}
if (getal3 <= getal2)
{
    tempgetal = getal3;
    getal3 = getal2;
    getal2 = tempgetal;
}

if (getal1 >= getal2)
{
    tempgetal = getal1;
    getal1 = getal2;
    getal2 = tempgetal;
}


intgetal1 = getal1;
intgetal2 = getal2;
intgetal3 = getal3;

}


dit is gewoon ronduit fout, het doet namelijk niets. Ja, je sorteert naar grootte, maar het zijn slechts kopieen die je hebt meegegeven. Als de functie retourneert dan is er niets gewijzigd aan de originele intgetal1 t/m 3

niet goed gekeken, je past namelijk de globals aan aan het eind van de functie. Erg foute aanpak moet ik zeggen. Als je van die int parameters nou pointers of references had gemaakt, dan had je ook geen gebruik hoeven te maken van die globale parameters. Want wat als je nu 3 andere ints wilt sorteren? Dan moet je gebruik maken van die voorgedefinieerde intgetal1 t/m 3, dat lijkt me nauwelijks de bedoeling

Nu ga ik opdracht 2 bekijken, mijn commentaar edit ik daarna achter deze post :)
Nog een aanvulling hierop. De naam grootste is natuurlijk erg misleidend. Ik zou verwachten dat deze het grootste getal teruggeeft (of tenminste die globale int invult die momenteel niet in gebruik is). Als je zou willen sorteren zou ik eerder een lijst met ints meegeven aan de functie, en die lijst sorteren EN de functie hernoemen naar sorteer of iets dergelijks

"There are 10 kinds of people in the world, those who understand binary and those who don't" | Werkbak specs


  • Ritch
  • Registratie: December 1999
  • Laatst online: 21-08 14:45
Paar dingen die mij opvielen:

ASP:
Het niet declareren van variabelen mag gewoon niet, daar zou ik al een onvoldoende voor geven.
Bekijk de HTML spec eens op w3.org, je html is absoluut niet html compliant, welke versie dan ook. bijvoorbeeld:
HTML:
1
<tr><td> Naam </td><td> <input type="text" name="naam" value=""><br></td>

daar moet nog </tr> achter bijvoorbeeld, daarnaast mag een euro teken ook niet html, daar hebben we &euro; voor.

C++:
Veel dingen zijn al gezegd, zoals gobal vars en typechecking en geen ansi c++. Daarnaast snap ik je inspring manier niet, jij doet:
C++:
1
2
3
4
5
6
7
8
void maakmenu
{
//code
if (true)
{
    //meer code
}
}

Ik zou toch echt zoiets doen:
C++:
1
2
3
4
5
6
7
8
void maakmenu
{
    //code
    if (true)
    {
        //meer code
    }
}

Ik weet niet op welk niveau jouw informatice opleiding is, maar ik doe zelf hogere informatica (HBO dus) en als ik zoiets zou produceren zou ik absoluut het vak niet gehaald hebben. MBO heb ik zelf geen ervaring mee, dus kan ik weinig over zeggen, maar scores van tussen de 95% en 100% verwachten voor deze opdrachten is in mijn ogen niet redelijk, op geen enkel niveau.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 04:06

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ritch schreef op 12 september 2003 @ 20:54:
Ik weet niet op welk niveau jouw informatice opleiding is, maar ik doe zelf hogere informatica (HBO dus) en als ik zoiets zou produceren zou ik absoluut het vak niet gehaald hebben. MBO heb ik zelf geen ervaring mee, dus kan ik weinig over zeggen, maar scores van tussen de 95% en 100% verwachten voor deze opdrachten is in mijn ogen niet redelijk, op geen enkel niveau.
mwoa, ik had een 9.7 voor mijn C++ tentamen op de HBO. En het niveau daarvan was wel 100x zo hoog als de opdrachten die hier staan (en met de cijfers die ie heeft gehad erbij vermoed ik idd dat het een MBO opleiding is)

Overigens vind ik de indentation wel het minst belangrijke om over te oordelen

[ Voor 6% gewijzigd door .oisyn op 12-09-2003 21: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.


  • wezzley
  • Registratie: Oktober 2000
  • Laatst online: 16-08 19:45
Ook nog een dingetje:
als je bij het 2de c++ progje kiest voor bijvoorbeeld de getallen 1 en 100, is het verschil dat je aangeeft -99. het verschil tussen 1 appel en 100 appels is 99 appels, niet -99. lullig detail, maar ik had vroeger docenten zat die over dat soort zooi vielen.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 04:06

.oisyn

Moderator Devschuur®

Demotivational Speaker

wezzley schreef op 12 september 2003 @ 21:24:
Ook nog een dingetje:
als je bij het 2de c++ progje kiest voor bijvoorbeeld de getallen 1 en 100, is het verschil dat je aangeeft -99. het verschil tussen 1 appel en 100 appels is 99 appels, niet -99. lullig detail, maar ik had vroeger docenten zat die over dat soort zooi vielen.
in de taal ja, in de wiskunde niet. Het quotient van 2 en 5 (2/5) is toch ook heel wat anders dan het quotient van 5 en 2 (5/2). Zo ook met verschil. Als je docent daar moeilijk over deed dan had ie maar duidelijker moeten zijn in z'n vraagstelling

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.


  • wezzley
  • Registratie: Oktober 2000
  • Laatst online: 16-08 19:45
Als je docent daar moeilijk over deed dan had ie maar duidelijker moeten zijn in z'n vraagstelling
ben ik met je eens :)

  • Exe-cuter
  • Registratie: September 2001
  • Laatst online: 11-09-2023
Ik heb jullie commentaren gelezen en moet zeggen dat dit dus het niveau is wat ik had verwacht. :)
Spijtig dat ik jullie de codes van mijn mede-leerlingen niet kan geven,want die zijn een lachertje vergeleken met de mijne }:O
bestel.asp
Wat me hier als eerste opvalt is dat .asp eigenlijk volstrekt overbodig is. Je gebruikt alleen html code. Waarom dan de asp parser belasten?
We hadden de opracht de 2 bestanden zo te noemen
bestel2.asp
Bestel2 schort naar mijn idee ook wat aan, wil je het echt goed doen. Wat ik erg mis is coden met Option Explicit, en dan met name het declaren van variabelen.
Nergens gebruik je dim.
Ook je naamgeving is niet consequent. Zo zie ik inttotaal staan. Dit is niet correct, per definitie kan dit geen integer zijn, maar moet dit een double zijn. (Immers, een integer kent geen decimalen, terwijl een bedrag wel decimalen heeft)
Ook hier zijn weer de namen niet declared.
Verder post je door middel van een querystring, waardoor een en ander wel redelijk beinvloedbaar kan worden. Waarom doe je niet door middel get?
Wat ik ook niet echt netjes vindt is dat ik door de hele applicatie heen Request.Querystring zie. Ik zou er neits op tegen hebben om op een centrale plaats alles in te lezen en in variabelen te plaatsen.
Een heel mooi voorbeeld is dat je 2x Request.Querystring("aantal1") oproept.
In de cursus stond nergens een voorbeeld met Option Explicit,dus werd er ook niet verwacht dat we het zouden gebruiken (ik wist niet eens dat dat ging met ASP). In Visual Basic maak ik wel altijd gebruik van O.E.

Inttotaal als integer = mijn fout , goed gezien (8>

Over de foutafhandeling : Mits ik meer kennis had,zou ik het zeker gebruikt hebben.Alweer was dit geen vereiste van de leerkracht.
Die iostream moet zonder .h, met als gevolg dat alle standaard C++ typen en objecten in de std namespace staan.
Dank je voor de aanvulling.In onze copieen stond het telkens MET .h (de cursus was voor de Borland versie bedoeld ipv de Visual C++ )
mwoa, ik had een 9.7 voor mijn C++ tentamen op de HBO. En het niveau daarvan was wel 100x zo hoog als de opdrachten die hier staan (en met de cijfers die ie heeft gehad erbij vermoed ik idd dat het een MBO opleiding is)
Ik volg TSO , Technisch Secundair Onderwijs (Enig niveau waarin je in Belgie Informatica kan volgen).Ik weet niet met welke richting het te vergelijken is in Nederland.Ik ben 17 jaar en heb netjes ieder jaar 1x gedaan , mocht dat een idee geven :9


Uit al deze opmerkingen moet ik besluiten dat mijn ASP niet zo slecht was in vergelijking met de kennis.
Aan de VC++ code schort toch een groot deel , dat op mijn school WEL wordt goedgerekend,maar wat je als serieuze programmeur niet kan toelaten.Het moet wel gezegd worden dat ik mijn topicrequest stuurde voor enkel de ASP , maar de crew wou ook de C++ code zien :D

Het is niet omdat jullie mij zulke slechte scores geef,dat ik mij beledigd voel of teleurgesteld ben.Nee integendeel, nu leer ik eindelijk eens van echte programmeurs hoe de vork in de steel zit. :>

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 04:06

.oisyn

Moderator Devschuur®

Demotivational Speaker

Exe-cuter schreef op 13 September 2003 @ 00:13:
Het moet wel gezegd worden dat ik mijn topicrequest stuurde voor enkel de ASP , maar de crew wou ook de C++ code zien :D
ik zal even heel stiekum een post van mij uit het crewforum hier quoten
.oisyn schreef op 11 September 2003 @ 23:57:
Ok, zeg maar dat ie gepost mag worden, op voorwaarde dat ie z'n C++ code erbij zet :Y)
:P

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.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Exe-cuter schreef op 13 September 2003 @ 00:13:
Het moet wel gezegd worden dat ik mijn topicrequest stuurde voor enkel de ASP , maar de crew wou ook de C++ code zien :D
.oisyn en ik ontkennen alles :D Helaas heb ik nu te weinig tijd om er op in te gaan, maar .oisyn's reactie ziet er knap grondig uit dus ik ga er niet van uit dat ik er nog veel aan toe kan voegen ;)
curry684 schreef op 11 September 2003 @ 23:52:
En ja: van mij moet de C++ code er ook bij :D
:+

[ Voor 16% gewijzigd door curry684 op 13-09-2003 00:20 ]

Professionele website nodig?


Verwijderd

Gezien de beschrijving van je school zou ik haast denken dat je bij het redingenhof lesvolgt.

Voor degenen die hier aan het evalueren zijn het gaat hier niet om een hogere of voortgezette opleiding. Dit soort informatica is zo'n beetje de inleiding op de inleiding en daar moet je echt niet veel van verwachten. Het is meer eh een opvang waar computerfreaks een beetje kunnen spelen en experimenteren tot ze oud genoeg zijn voor een hogere opleiding. Nu zijn opmerkingen als foutafhandeling en het onzinnig gebruiken van globale variabelen wel gerechtvaardigde opmerkingen, je kan het in deze context niet verwachten.

Neemt niet weg dat je er ook geen 100% voor moet verwachten. Of die leerkracht er wat van weet of niet je zal er niet van doodgaan als je niet 90+ hebt.
Wat dat betreft vind ik het een beetje gek dat je daarvoor naar de directeur gestapt bent. Leerkrachten die een vak geven waar ze niet veel van weten ga je nog vaker tegenkomen en die durven ook nog eens heel weinig punten geven. Op zo'n moment zal je zelf je erdoor moeten boksen en genoegen moeten nemen met de onzin of je komt onnodig achter te liggen. Ik zit ondertussen in mijn laatste jaar maar ik kan je zeggen dat het eerste jaar meer dan de helft het niet haalt. Het tweede jaar is het nog geen derde dat doorgaat. Een dramatisch verschil met informatica van TSO.

Ok misschien heb ik je verkeerd ingeschat en hoef ik dit niet tegen je te zeggen. Het leek gewoon een beetje op wat ik zelf rond die tijd dacht en meemaakte.

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 21-08 18:33
Exe-cuter schreef op 13 September 2003 @ 00:13:
Het is niet omdat jullie mij zulke slechte scores geef,dat ik mij beledigd voel of teleurgesteld ben.Nee integendeel, nu leer ik eindelijk eens van echte programmeurs hoe de vork in de steel zit. :>
Echte programmeurs zijn mannen die hun koffie zonder suiker drinken. Die zijn zeldzaam ........

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.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
farlane schreef op 13 September 2003 @ 02:38:
[...]
Echte programmeurs zijn mannen die hun koffie zonder suiker drinken. Die zijn zeldzaam ........
offtopic:
"Echte" programmeur meldt zich :Y)


Dingen die mij opvielen en nog niet genoemd zijn:
ASP:
1
2
3
4
5
6
7
<h3 align=center>

<form name="formulier"...
...
<table border="0" width="50%" align="center"> 
...
<table border="1" width="50%" align=center>

Je bent niet erg consistent: Attributen doe je wel met quotes, of niet. Niet door elkaar. Ik (en het W3C) vindt dat attributen tussen quotes moeten, maar er zijn er "een paar" die dat niet nodig vinden. Daar valt dan nog over te twisten.

JavaScript:
1
formulier.naam.focus ();

spatie na focus hoort er niet... (detail ;) ) Overigens is een spatie ook een geldige naam met jou code :X Ik trim text-fields altijd effe voordat ik ze check ;)

JavaScript:
1
<form ... onSubmit="return test()">

IMHO hoort daar te staan: "return test();"

Je stijl van inspringen is overigens ook niet de mijne, maar goed, dat is een detail.

Ik ga nu even de C code bekijken...

[Minor detail of "mierenneukmodus"]:
code:
1
Druk op een knop om te quitten

Je gebruikt engels en nederlands of slang door elkaar. Niet doen. Ik had liever gezien:
code:
1
Druk op een knop om te stoppen

of iets dergelijks. Ook spreek ik "de gebruiker" liever met "u" aan i.p.v. met "je"
[/Minor detail of "mierenneukmodus"]

Verder weinig kunnen vinden in je code wat nog niet genoemd is. Maar ook naar mijn mening zijn deze opdrachten allemaal een krappe voldoende: Ze doen wat ze moeten doen, maar dan houdt het op.

Dingen die wel genoemd zijn, en ook ik puntenaftrek waard vond:
• Error-handling
• Comments in je code
• Option Explicit en declaren van vars
• Niet gebruiken van Arrays o.i.d. (aantal1, aantal2, etc...) (mits je dat wel hebt behandeld dan)
• Sluiten van tags
• Naamgeving
• Her-opvragen van querystring values, i.p.v. ze te "cachen" in een var
• Get i.p.v. Post (detail)
• Reusuability !
• En zo'n beetje alles uit .oisyn's beoordeling

Ben overigens wel benieuwd naar die andere inzendingen dan :*)

[ Voor 93% gewijzigd door RobIII op 13-09-2003 04:03 ]

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


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Exe-cuter schreef op 13 september 2003 @ 00:13:
Uit al deze opmerkingen moet ik besluiten dat mijn ASP niet zo slecht was in vergelijking met de kennis.
Ik wil hier nog een paar kleine kanttekeningen bij maken, voornamelijk om jezelf iets 'scherper' te houden. :)

Het allergrootste gevaar / valkuil waar je in kan en gaat vallen als je niet veranderd, is de overzichtelijkheid. Je doet te weinig moeite om zaken netjes neer te zetten. Nu zijn de opdrachtjes nog simpel, maar complexere problemen kom je in de knoei.

Dwing jezelf tot documenteren en netjes code.

Daarnaast: Dwing jezelf tot strenger zijn voor jezelf. Dwing betere testen af. Wees dom; een getal "a" moet je best kunnen invullen; hoe lost dat programma het op?

Voor zover de algemene tips waar je op moet letten... :)

Je ASP kennis zeg je zelf dat dit goed zit. Ik vind je nog te zeer vasthouden aan een truukje. Niet erg voor dit moment, maar wees je er van bewust dat er andere, soms betere oplossingen zijn om toe te passen. Houdt niet per definitie vast aan de dingen die je nu leert / bedenkt, maar kijk ook verder.
"Het werkt" is niet voldoende; het moet goed werken.
Spijtig dat ik jullie de codes van mijn mede-leerlingen niet kan geven,want die zijn een lachertje vergeleken met de mijne }:O
Ik wil hier graag de volgende quote tegenoverstellen
A true programmer doesn't think he knows best. He knows only that there are other programmers out there who know more, be it in his part of the programming field or a totally different one. Because he knows this, he will learn from others, instead of getting into a cockfight.
Oftewel: Je kan afgeven op je medestudenten, maar je kan ook kijken naar wat voor oplossingen zij bedacht hebben en wat jij hiervan kan leren.

[ Voor 31% gewijzigd door gorgi_19 op 13-09-2003 10:50 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

farlane schreef op 13 september 2003 @ 02:38:
[...]


Echte programmeurs zijn mannen die hun koffie zonder suiker drinken. Die zijn zeldzaam ........
hey dat is niet eerlijk :'( dan kan ik nooit een echte programmeur worden :+

  • Exe-cuter
  • Registratie: September 2001
  • Laatst online: 11-09-2023
A true programmer doesn't think he knows best. He knows only that there are other programmers out there who know more, be it in his part of the programming field or a totally different one. Because he knows this, he will learn from others, instead of getting into a cockfight.


Oftewel: Je kan afgeven op je medestudenten, maar je kan ook kijken naar wat voor oplossingen zij bedacht hebben en wat jij hiervan kan leren.
En dat is waarom ik deze topic heb geopend he :)
Gezien de beschrijving van je school zou ik haast denken dat je bij het redingenhof lesvolgt.
Voor degenen die hier aan het evalueren zijn het gaat hier niet om een hogere of voortgezette opleiding. Dit soort informatica is zo'n beetje de inleiding op de inleiding en daar moet je echt niet veel van verwachten. Het is meer eh een opvang waar computerfreaks een beetje kunnen spelen en experimenteren tot ze oud genoeg zijn voor een hogere opleiding. Nu zijn opmerkingen als foutafhandeling en het onzinnig gebruiken van globale variabelen wel gerechtvaardigde opmerkingen, je kan het in deze context niet verwachten.
Juist ! Ik ben naar deze school gegaan (Nee,niet het redingenhof :? ) omdat er in de nabije scholen nergens een Informatica-opleiding te volgen was.Zodoende kan ik toch al 2 jaar een basiskennis opdoen voor ik een hogere opleiding ga volgen.Dit neemt niet weg dat het niveau van mijn school me tegenvalt.
Neemt niet weg dat je er ook geen 100% voor moet verwachten. Of die leerkracht er wat van weet of niet je zal er niet van doodgaan als je niet 90+ hebt.
Wat dat betreft vind ik het een beetje gek dat je daarvoor naar de directeur gestapt bent. Leerkrachten die een vak geven waar ze niet veel van weten ga je nog vaker tegenkomen en die durven ook nog eens heel weinig punten geven. Op zo'n moment zal je zelf je erdoor moeten boksen en genoegen moeten nemen met de onzin of je komt onnodig achter te liggen.
Ik heb veel informatie ivm de leerkracht weggelaten in de SP,omdat dit anders een té lange tekst zou worden.
Denk eraan dat ik NIET naar de directeur ben gegaan om punten bij te vragen,want ik was met glans geslaagd,maar om hem erop te wijzen dat de handelingen van onze leerkracht niet door de beugel konden.Er zijn al jaren problemen met deze leerkracht.Wat heb je eraan als je niets bijleerd en hij je ook nog belemmerd om in de klas aan zelfstudie te doen ?
Hij heeft onze testen gewoon NIET verbeterd.Dit ga ik even duidelijk maken met een quote van gisteren :

Leerling : "Meneer,hoe komt het dat 2 leerlingen met dezelfde test,toch totaal andere punten krijgen ?"
Hij : "Jah , dat kon ik toch niet zien ? Ik was thuis"
Leerling : "Ok,maar jij hebt ze toch verbeterd !"
Hij : "Jullie hadden toch allemaal goede punten ! Wat klaag je dan ?"
Leerling : " ...."

Hij geeft dus -al dan niet letterlijk- toe dat de toetsen gewoonweg niet verbeterd zijn , maar hij gewoon wat willekeurige punten heeft gegeven.Dit stelt me teleur omdat we wettelijk gezien nog altijd op onze prestaties en medewerking in de klas worden beoordeeld .
Je gebruikt engels en nederlands of slang door elkaar. Niet doen.
Dit heb ik bij wijze van grapje ingebouwd.In een "echt" programma zal ik zoiets nooit inbouwen. ;)

Ivm de foutafhandeling : dit was niet vereist (op het stukje JS na) en zou wsl zelfs lijden tot minder punten.
curry684 schreef op 11 September 2003 @ 23:52:
En ja: van mij moet de C++ code er ook bij
Je bent een saddist O-)

Uit mijn reacties krijgen jullie mss het gedacht dat ik iemand ben die enkel naar de uitvoer kijk.Nee integendeel, ik ben een grote voorstander van geoptimaliseerde code (ben oa fan van MenuetOs.org :) ). Ik vind het grappig dat zulke simpele en imo perfecte code toch nog zoveel fouten en onnauwkeurigheden kan bevatten.Respect Tweakers _/-\o_

[ Voor 4% gewijzigd door Exe-cuter op 13-09-2003 14:17 . Reden: typvout ]


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Verwijderd schreef op 13 September 2003 @ 01:18:
Neemt niet weg dat je er ook geen 100% voor moet verwachten. Of die leerkracht er wat van weet of niet je zal er niet van doodgaan als je niet 90+ hebt.
Wat dat betreft vind ik het een beetje gek dat je daarvoor naar de directeur gestapt bent. Leerkrachten die een vak geven waar ze niet veel van weten ga je nog vaker tegenkomen en die durven ook nog eens heel weinig punten geven. Op zo'n moment zal je zelf je erdoor moeten boksen en genoegen moeten nemen met de onzin of je komt onnodig achter te liggen.
Het wordt pas pret zodra je managers tegenkomt :z Helaas weet 95+% van de IT-managers minder van programmeren dan m'n moeder... :/ Get used to it :P

Professionele website nodig?


Verwijderd

ik ben een grote voorstander van geoptimaliseerde code
De meeste mensen gaven kritiek op de duidelijkheid: opzet programma, naamgeving, consistentie, commentaar. Dat heeft verder weinig met optimalisatie te maken. Optimalisatie is vaak tegenstrijdig met duidelijkheid, bijvoorbeeld omdat je meer 'low-level' gaat werken.

[ Voor 15% gewijzigd door Verwijderd op 13-09-2003 14:15 ]


  • Exe-cuter
  • Registratie: September 2001
  • Laatst online: 11-09-2023
En daar moet ik je ook wel weer gelijk in geven Infinitive. O+

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Verwijderd schreef op 13 September 2003 @ 14:15:
[...]
De meeste mensen gaven kritiek op de duidelijkheid: opzet programma, naamgeving, consistentie, commentaar. Dat heeft verder weinig met optimalisatie te maken. Optimalisatie is vaak tegenstrijdig met duidelijkheid, bijvoorbeeld omdat je meer 'low-level' gaat werken.
Ik weet me de C-functie nog te herinneren die hij met een uurtje optimaliseren 40 keer sneller kreeg door puur alleen maar pointerdereferencing en post- en pre-increments te gebruiken. Leesbaar was anders met 3 of meer sterretjes per regel en vol met ++'s tussen haakjes, achter haakjes en alles :P

Het origineel deed dus string-handling met puur string-member functies, terwijl ik als eerste een char* eruittrok en daarmee alles ging doen, en allerhande logische aannames maakte als gevolg van de input waarmee ik kostbare berekenslagen kon overslaan.

Professionele website nodig?

Pagina: 1