Re: Fastnat i tankarna
Postat: 19 mars 2015, 22:29:53
Intressant - men samma sak som tidigare fattas.
Jag anser att när man programmerar ska ett värde definieras ett enda ställe och alla användningar av det värde ska referera till det ställe.
Du har 4 texter med möjliga kommandon (commands), de kommer i en viss följd. Helt OK.
Sedan har du en tabell (commandsequences) som anger vilka kombinationer som är OK. Helt fint.
Men redan där kan det skita sig!
I detta simpla exempel är det relativt enkelt att se till - manuellt - att inget kommer ur synkronisering men om man i ett större, mindre överskådligt, program råkar peta in en kommandotext i commands och glömmer att synkronisera commandsequence med detta är det skit! Och det är just det skit jag vill undvika!
Jag skulle alltså gärna vilje ha ett sätt att båda definiera en text SAMT lägga en "tag" på den så att jag får ett logisk värde som om att den "satt" i en enum{}.
På det vis kan alla hänvisningar till kommandoordets index skötas automatisk och ingen "mismatch" sker, oavsett hur stort system man skapar.
Grejen är att "alla" vet att hårdkoder man i ett program kommer det värde man hårdkoder in att behöva ändras någon gång. Och då ska man sitta och peta och ha sig och hitta alla ställen. Detta ger fel, inte alltid men i ett större program kan det vara väldigt svårt att hitta alla de hårdkodade värden och ändra dom.
Därför "ska" man alltid ange värden som kan hårdkodas i en gemensam definition och sedan använda den som källa till allt. Och är det "värdet -1" man behöver använder man den beskrivning i programmet, då blir det alltid rätt!
Så jag söker ett automatiserat sätt att göra det på - men just nu får det vara ett tag, det är nattdags.
Jag anser att när man programmerar ska ett värde definieras ett enda ställe och alla användningar av det värde ska referera till det ställe.
Du har 4 texter med möjliga kommandon (commands), de kommer i en viss följd. Helt OK.
Sedan har du en tabell (commandsequences) som anger vilka kombinationer som är OK. Helt fint.
Men redan där kan det skita sig!
I detta simpla exempel är det relativt enkelt att se till - manuellt - att inget kommer ur synkronisering men om man i ett större, mindre överskådligt, program råkar peta in en kommandotext i commands och glömmer att synkronisera commandsequence med detta är det skit! Och det är just det skit jag vill undvika!
Jag skulle alltså gärna vilje ha ett sätt att båda definiera en text SAMT lägga en "tag" på den så att jag får ett logisk värde som om att den "satt" i en enum{}.
På det vis kan alla hänvisningar till kommandoordets index skötas automatisk och ingen "mismatch" sker, oavsett hur stort system man skapar.
Grejen är att "alla" vet att hårdkoder man i ett program kommer det värde man hårdkoder in att behöva ändras någon gång. Och då ska man sitta och peta och ha sig och hitta alla ställen. Detta ger fel, inte alltid men i ett större program kan det vara väldigt svårt att hitta alla de hårdkodade värden och ändra dom.
Därför "ska" man alltid ange värden som kan hårdkodas i en gemensam definition och sedan använda den som källa till allt. Och är det "värdet -1" man behöver använder man den beskrivning i programmet, då blir det alltid rätt!
Så jag söker ett automatiserat sätt att göra det på - men just nu får det vara ett tag, det är nattdags.