Pagina 2 van 3 EersteEerste 123 LaatsteLaatste
Weergegeven resultaten: 16 t/m 30 van 31

Discussie: Static/Final

  1. #16
    Approved 9-lifer Cycloon's schermafbeelding
    Lid sinds
    17/01/04
    Locatie
    Melle
    Berichten
    10.044
    iTrader
    52 (100%)
    Omdat je een static oproept op een instance variabele begin je te spreken over 'bad design'. Als design van een applicatie al afhangt van een enkele regel code dan is het ver gekomen. En ook al definieer je een statische variabele op klasse niveau, toch is ze ook onderdeel van alle instanties.

    Ik wacht nog steeds op je uitleg waar de conceptuele fout zit. Het is niet omdat een bepaald concept bij sommigen tot verwarring leidt dat het een slecht concept is. Als dat toch zo zou zijn dan moet ik persoonlijk heel veel concepten als foutief bestempelen.
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character

  2. #17
    Member Pudmeister's schermafbeelding
    Lid sinds
    20/08/11
    Locatie
    Liberty City
    Berichten
    827
    iTrader
    0
    Citaat Oorspronkelijk geplaatst door Cycloon Bekijk bericht
    En ook al definieer je een statische variabele op klasse niveau, toch is ze ook onderdeel van alle instanties.
    Een static variabele staat toch volledig los van instanties... Ook wanneer er geen instanties zijn kan je static variabelen ook bereiken. Ik snap niet wat je bedoelt. Een static var hoort bij de klasse op zich en niet bij de objecten van die klasse. Het is toch niet voor niks dat ge een warning krijgt wanneer ge via een instance een static variabele wilt oproepen? Static variabelen worden via de klasse opgeroepen en niet via objecten van die klasse.

    stel de variabele dieselprijs is static

    Auto.dieselprijs geeft geen warning
    a1.dieselprijs geeft wel een warning: The static field Auto.dieselprijs should be accessed in a static way

    I rest my case
    PSN: Pudmeister89

  3. #18
    Approved 9-lifer NoGo's schermafbeelding
    Lid sinds
    22/08/11
    Locatie
    Borgloon
    Berichten
    1.158
    iTrader
    117 (100%)
    Ik vraag mij eigenlijk af wat het nut is om a1.dieselprijs te gebruiken ipv Auto.dieselprijs Waarom zou je dit gebruiken?
    (='.'=)

  4. #19
    Approved 9-lifer NeverwinterX's schermafbeelding
    Lid sinds
    26/08/04
    Locatie
    Leuven
    Berichten
    928
    iTrader
    0
    Citaat Oorspronkelijk geplaatst door Cycloon Bekijk bericht
    Omdat je een static oproept op een instance variabele begin je te spreken over 'bad design'. Als design van een applicatie al afhangt van een enkele regel code dan is het ver gekomen.
    Bad design van de programmeertaal.
    Als je het gebruikt in je code moet je het zelf maar weten als er praktisch universele consensus is dat je dat beter niet doet.
    I am thee and thou art me and all of one is the other.
    TED talk: Richard Dawkins on militant atheism

  5. #20
    Member blackrabbit's schermafbeelding
    Lid sinds
    25/07/02
    Locatie
    Wemmel
    Berichten
    1.134
    iTrader
    5 (100%)
    Dan gaat het niet om bad design van de taal, eerder om intelligent ontwikkeling van de compiler tegen domme fouten van de ontwikkelaar

  6. #21
    Approved 9-lifer Cycloon's schermafbeelding
    Lid sinds
    17/01/04
    Locatie
    Melle
    Berichten
    10.044
    iTrader
    52 (100%)
    Citaat Oorspronkelijk geplaatst door NoGo Bekijk bericht
    Ik vraag mij eigenlijk af wat het nut is om a1.dieselprijs te gebruiken ipv Auto.dieselprijs Waarom zou je dit gebruiken?
    Ook statics kunnen overschreven worden. Wanneer je dus niet op voorhand weet welk type je terugkrijgt dan kan je rechtstreeks via de instantie de variabele opvragen.

    Overigens, een compiler warning duidt niet op foutief gebruik. Ik kan voldoende warnings aangeven die in vele situaties totaal irrelevant zijn.
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character

  7. #22
    Member Emerxill's schermafbeelding
    Lid sinds
    17/07/02
    Locatie
    Hasselt
    Berichten
    2.500
    iTrader
    0
    Citaat Oorspronkelijk geplaatst door Cycloon Bekijk bericht
    Ook statics kunnen overschreven worden. Wanneer je dus niet op voorhand weet welk type je terugkrijgt dan kan je rechtstreeks via de instantie de variabele opvragen.
    Meestal weet je wel in welke klasse die static steekt en spreek die die best aan op klasse niveau. Dat staat los van uw instance vind ik.

    Verder geef ik je gelijk wat de "conceptuele fout" betreft. Het feit dat een static ook op instance niveau aanspreekbaar is, is volgens mij geen bad design van de programmeertaal. Want een static behoort conceptueel zowel bij de klasse als bij de instances. Het gebruiken van die static op instance niveau is door de programmeur is dan wel minder proper
    If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization

  8. #23
    Approved 9-lifer NeverwinterX's schermafbeelding
    Lid sinds
    26/08/04
    Locatie
    Leuven
    Berichten
    928
    iTrader
    0
    Citaat Oorspronkelijk geplaatst door Emerxill Bekijk bericht
    Verder geef ik je gelijk wat de "conceptuele fout" betreft. Het feit dat een static ook op instance niveau aanspreekbaar is, is volgens mij geen bad design van de programmeertaal. Want een static behoort conceptueel zowel bij de klasse als bij de instances. Het gebruiken van die static op instance niveau is door de programmeur is dan wel minder proper
    Dat spreekt elkaar tegen: het is geen bad design van de taal om de feature erin te steken volgens u maar de programmeur mag de feature niet gebruiken van u? Een feature die beter niet gebruikt kan worden is een feature die er beter niet in was gestoken.
    I am thee and thou art me and all of one is the other.
    TED talk: Richard Dawkins on militant atheism

  9. #24
    Member Emerxill's schermafbeelding
    Lid sinds
    17/07/02
    Locatie
    Hasselt
    Berichten
    2.500
    iTrader
    0
    Citaat Oorspronkelijk geplaatst door NeverwinterX Bekijk bericht
    Dat spreekt elkaar tegen: het is geen bad design van de taal om de feature erin te steken volgens u maar de programmeur mag de feature niet gebruiken van u? Een feature die beter niet gebruikt kan worden is een feature die er beter niet in was gestoken.
    Een static variable aanspreken via de instance opzich is geen bad design, het zal niet leiden tot fouten in uw code. De klasse variable zal zich hetzelfde gedragen...

    Je doet dat beter niet omdat je code dan minder duidelijk wordt, maw het is dan niet duidelijk dat je met een klasse-variable aan't werken bent. En dat kan leiden tot bad design/code dat zich anders gedraagt dan verwacht. Maar dat heeft meer te maken met het feit dat de developer zich niet bewust is dat hij met een klasse-variable aan't werken is, maar met de werkwijze op zich is niks mis.
    If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization

  10. #25
    Approved 9-lifer NeverwinterX's schermafbeelding
    Lid sinds
    26/08/04
    Locatie
    Leuven
    Berichten
    928
    iTrader
    0
    Citaat Oorspronkelijk geplaatst door Emerxill Bekijk bericht
    Een static variable aanspreken via de instance opzich is geen bad design, het zal niet leiden tot fouten in uw code. De klasse variable zal zich hetzelfde gedragen...

    Je doet dat beter niet omdat je code dan minder duidelijk wordt, maw het is dan niet duidelijk dat je met een klasse-variable aan't werken bent. En dat kan leiden tot bad design/code dat zich anders gedraagt dan verwacht. Maar dat heeft meer te maken met het feit dat de developer zich niet bewust is dat hij met een klasse-variable aan't werken is, maar met de werkwijze op zich is niks mis.
    Ik denk dat je bad design van de programmeertaal verkeerd verstaat: bad design van de programmeertaal wilt zeggen dat diegenen die de programmeertaal zelf ontwikkeld hebben een verkeerde keuze hebben gemaakt.
    En voorts zal bad design (of het nu in de programmeertaal zelf is of in uw eigen code) niet leiden tot fouten in uw code, het is slecht/onhandig/niet-uitbreidbaar... om te gebruiken. Er is een verschil tussen bad design en niet-correct-werkend (een bug).
    I am thee and thou art me and all of one is the other.
    TED talk: Richard Dawkins on militant atheism

  11. #26
    Member Jerre Muesli's schermafbeelding
    Lid sinds
    8/09/02
    Locatie
    -
    Berichten
    2.051
    iTrader
    9 (100%)
    2 woorden: best practice

  12. #27
    Member Emerxill's schermafbeelding
    Lid sinds
    17/07/02
    Locatie
    Hasselt
    Berichten
    2.500
    iTrader
    0
    Citaat Oorspronkelijk geplaatst door NeverwinterX Bekijk bericht
    Ik denk dat je bad design van de programmeertaal verkeerd verstaat: bad design van de programmeertaal wilt zeggen dat diegenen die de programmeertaal zelf ontwikkeld hebben een verkeerde keuze hebben gemaakt.
    En voorts zal bad design (of het nu in de programmeertaal zelf is of in uw eigen code) niet leiden tot fouten in uw code, het is slecht/onhandig/niet-uitbreidbaar... om te gebruiken. Er is een verschil tussen bad design en niet-correct-werkend (een bug).
    Nee, "bad design" zal niet leiden tot fouten in de code ...
    Als je dan toch een definitie wil geven doe het dan juist . Bad design is:
    - moeilijk aanpasbare code omdat het impact heeft op andere onderdelen van de code.Is dat van toepassing op een static? Neen.
    - als je toch aanpassingen doet dat op bepaalde plaatsen fouten veroorzaakt (daar doelde ik op btw ). Is dat van toepassing op een static? Neen
    - moeilijk te hergebruiken. Is dat van toepassing op een static? Neen, integendeel zelfs.

    Geen bad design dus.
    If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization

  13. #28
    Approved 9-lifer Cycloon's schermafbeelding
    Lid sinds
    17/01/04
    Locatie
    Melle
    Berichten
    10.044
    iTrader
    52 (100%)
    Inderdaad. Static op zich heeft totaal niks met bad design of whatsoever te maken. Zelf de manier hoe je die static oproept is irrelevant. Wat wél relevant is hoe je die dingen gaat gebruiken in een groter geheel en wat de 'conventies' zijn binnen het bedrijf.
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character

  14. #29
    Approved 9-lifer NeverwinterX's schermafbeelding
    Lid sinds
    26/08/04
    Locatie
    Leuven
    Berichten
    928
    iTrader
    0
    Citaat Oorspronkelijk geplaatst door Emerxill Bekijk bericht
    Nee, "bad design" zal niet leiden tot fouten in de code ...
    Als je dan toch een definitie wil geven doe het dan juist . Bad design is:
    - moeilijk aanpasbare code omdat het impact heeft op andere onderdelen van de code.Is dat van toepassing op een static? Neen.
    - als je toch aanpassingen doet dat op bepaalde plaatsen fouten veroorzaakt (daar doelde ik op btw ). Is dat van toepassing op een static? Neen
    - moeilijk te hergebruiken. Is dat van toepassing op een static? Neen, integendeel zelfs.

    Geen bad design dus.
    Je begrijpt het nog steeds niet: je denkt nog steeds teveel op het niveau van de code zelf over het gebruik van de static op een instance method, ik zeg dat ik het over het uitdenken van de programmeertaal zelf heb. En op dat niveau is de beslissing om static toe te laten op instanties in de syntax bad design. Uw begrip van design is veel te nauw en beperkt. Bad design bevat veel meer dan moeilijk aanpasbare code of moeilijk te hergebruiken, ook conceptueel fout ontwerp (i.e. wat design betekent) valt onder bad design.

    Het feit dat je zelf zegt (en zowat alle compilers en IDE's) dat programmeurs beter geen static methode oproepen op een instantie omdat dat onduidelijk code geeft, geeft aan dat het bijvoorbeeld voor Java van James Gosling en co een verkeerde beslissing was om C++ te volgen en die syntax toe te laten. Als uw programmeertaal dingen toe laat die de programeur beter niet doet, dan is uw programmeertaal slecht ontworpen op dat punt en dat noemt bad design ja. C# laat het bijvoorbeeld niet toe.
    I am thee and thou art me and all of one is the other.
    TED talk: Richard Dawkins on militant atheism

  15. #30
    Member Emerxill's schermafbeelding
    Lid sinds
    17/07/02
    Locatie
    Hasselt
    Berichten
    2.500
    iTrader
    0
    Citaat Oorspronkelijk geplaatst door NeverwinterX Bekijk bericht
    Je begrijpt het nog steeds niet
    Ik begrijp het maar al te goed, duidelijk beter dan jij.. Kan ik er niet aan doen dat begrijpend lezen niet uw sterkste kant is.

    Indien je goed gelezen zou hebben, had je duidelijk kunnen lezen dat in één van mijn eerste reacties hierop ik aanhaal dat een static conceptueel deel uitmaakt van de instance als van de klasse.

    Als de ontwerpers van bijv C# daar anders over denken is dat hun keuze. En dat heeft wrsch meer te maken omdat ze goed beseffen wat het doelpubliek voor C# is (sorry kon het niet laten ).
    Maar ik herhaal, (tot vervelens toe) het toegankelijk maken van een static vanaf de instance is géén bad design. Het zal nooit rechtstreeks de oorzaak zijn van slecht werkende code.

    Voor je mij verwijt dat mijn begrip over bepaalde concepten te nauw en beperkt is, kun je best zelf zien dat je het algemeen beeld en de redenering achter bepaalde keuzes bij het ontwerpen van Java juist snapt en niet te eng is, net als de betekenis van "bad design" (dat je dan weer te ruim interpreteert om een reden dat mij vreemd is).
    If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization

Pagina 2 van 3 EersteEerste 123 LaatsteLaatste

Regels voor berichten

  • Je mag geen nieuwe discussies starten
  • Je mag niet reageren op berichten
  • Je mag geen bijlagen versturen
  • Je mag niet je berichten bewerken
  •