Hur planerar och strukturerar ni ett större program?

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av Lennart Aspenryd »

Måste logga in och kommentera igen.
Det finns något som heter Pseudokod programmering.
Där beskriver man vad som kommer in och vad som skall hända.

Att jag skrev Visio tidigare beror på att välskrivning är mitt andra underkända betyg i skolan.
Och att när jag tänker större program är det fler personer som är involverade i processen.
Lasp loggar ut igen !
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av Magnus_K »

Haha, varför loggar du in/ut för? Har du fyllt månadens onlinekvot? :wink:

Pseudokod är också bra vid planeringsstadiet. Jag har gjort detta innan utan att veta att det hade ett namn (googlade det tidigare efter ni hade skrivit det) och det kommer jag fortsätta med.

Angående Visio så måste jag nog googla vidare. Har inte en aning om vad det är men misstänker att det är ett bra program för att skapa flödesdiagram med mera i? Kanske lite som PowerPoint?
Ska ta och kika lite på det.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av sodjan »

Ett dyrt (men funktionellt) grafisk program från Microsoft... :-)
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av Magnus_K »

Ah ok.
Givetvis tacksam för tipset men personligen föredrar jag penna och papper in i det sista. Sen är det ju klart. Är det en annan part inblandad så ska det ju se representativt ut också, då funkar det inte alltid med kladdblock.

Ska läsa igenom tråden igen och göra en sammanfattning. Förhoppningsvis hittar jag dokumentet under kvällen också.

Tack för alla bra tips och återkommer eventuellt med mer funderingar!
grottan
Inlägg: 476
Blev medlem: 16 maj 2010, 12:16:42

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av grottan »

sodjan skrev:Ett dyrt (men funktionellt) grafisk program från Microsoft... :-)
Och bara för att klargöra för M$ hatarna, nej - det är inte MS som skrivit applikationen och dom har ännu inte "förstört" den heller :-)
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av Krille Krokodil »

Finns plugin(s) till Eclipse för att skapa diagram. http://www.eclipse.org/papyrus/
umlexampleshot2.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46928
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av TomasL »

grottan skrev:
sodjan skrev:Ett dyrt (men funktionellt) grafisk program från Microsoft... :-)
Och bara för att klargöra för M$ hatarna, nej - det är inte MS som skrivit applikationen och dom har ännu inte "förstört" den heller :-)
Dessutom förmodligen världens bästa program, går och göra vad man vill med det, bara fantasin begränsar egentligen.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av sodjan »

Lite OT kanske, men jag har en jämnårig kusin som har jobbat med utbildning
i Visio ganska länge: http://trainit.se/om-train-it/ :
"...Ägare är Staffan Söderholm som räknas som Sveriges främste kännare av Microsoft Visio..." :-)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46928
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av TomasL »

När det gäller kodningsstandard så är JPL's standard bra att bygga på.
Själv vill jag lägga till ett par saker:
Undvik #defines för konstanter, enumrera dem i stället, fasiken så mycket enklarte att felsöka.
När det gäller #defines så ger kompilatorn möjligtvis en varning på sin höjd , om du av misstag omdefinierar den (mycket lätt gjort i större program), Om du enumrerar istället, så stoppar kompilatorn med ett fel.

Bättre med för mycket kommentarer än för lite, du kommer att ångra dig djupt om några månader varför du inte kommenterade denna lilla rad.
Använd Doxygens kommentarsformat, så kan du på ett enkelt sätt skapa en läsbar dokumentation över ditt projekt.
Skriv långa tydliga kommentarer till alla variabler och konstanter, vad de används till och vart de används samt vilka värden de kan förväntas antaga.
Använd alltid enumrerade konstanter med vettiga namn, i stället för numeriska konstanter, om möjligt naturligtvis.

Till exempel:

Kod: Markera allt

/*

OFF 			= Helt stannad maskin, allt avstängt och stoppat.
EXCEPTION = Vi har fått något fel
STANDBY 	= Väntar på startorder.
STARTPDWN = Påbörjar Pumpdown cykeln
STARTOK 	= Startorder avgiven. 
STARTINIT	= Öppnar ventiler, startar pumpar etc.
STARTJOG	= Startar kompressor med pumpdown.
STARTEND	= Pumpdown avslutad.
RUNNING		= Normal drift.

JOGGING		= Vi Motionskör kompressorn.

STOPP			= Vi har fått stopporder
STOPJOG		= Vi motionskör kompressorn en stund.
STOPPDWN	= Vi kör Pumpdown.
STOPEND		= Pumpdown avslutad, vi stänger ventiler pumpar etc.
STOPPED		= Allt avslutat, vi kan gå över i STANDBY.





runStat_enum 						= OFF om så är inställt via meny eller instruktion från master.

runStat_enum 						= STANDBY i alla andra fall.

starttimer_u16 			= en global räknanre uppdateras varje sekund
VentilMaxtid_u16			= maximal tid som vi väntar för att få klartecken från ventil/flödesvakt, konfigurerbar i menysystem
suction_pressure_s16		= Sugtryck mätt med tryckgivare
pdown_startpress_s16		= Starttrycket för att öppna expansionsventilen vid PumpDown start
valvetempopen_u16			= Global Temporär statusvariabel, talar om att kompressorn är startad und Pumpdown startcykeln.
maxPdwnRelieftime_u16	= Maximal tid vi kan vänta på att trycket skall stiga, konfigurerbar i menysystem
pdwnValveStopPress_s16	= trycket där vi stänger ventilen under Pumpdown startcykel, konfigurerbar i menysystem.
startjogtime_u16			= Joggningstid under startup, konfigurerbar i Menysystem

global_inst.JogIntervall_s16	= tiden kompressorn går mellan två joggningsintervall, konfigurerbar i menysystem
global_inst.JogTid_s16	   	= Tiden vi joggar, konfigurerbar i menysystem
minruntime_u16				= Kortaste tillåtna driftstid för kompressorn, konfigurerbar i menysystem
stopjogtime_u16			= Joggtiden vi kompressorstopp, konfigurerbar i menysystem
maxstoptime_u16			= Maxtiden det får ta att stoppa kompressorn, konfigurerbar i menysystem
suctionstoppressure_s16	=	Trycket där vi stoppar kompressorn vid pump down, konfigurerbar i menysystem
minvalveclosetime_u16	= Väntetid för att ventiler skall stänga, konfigurerbar i menysystem
minvalveopentime_u16		= Väntetid, efter stopp för att stänga ventilerna, konfigurerbar i menysystem
kompStateError_u16		= global variabel, håller felmeddelanden, visningsbar i menysystem
kompstate_LPBlock_u16	= global flaggga för blockering av Lågtrycksutlösning under start/stopp

*/
Denna lilla kommentaren är en del av kommentarerna i en funktion i en av våra moduler
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46928
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av TomasL »

sodjan skrev:Lite OT kanske, men jag har en jämnårig kusin som har jobbat med utbildning
i Visio ganska länge: http://trainit.se/om-train-it/ :
"...Ägare är Staffan Söderholm som räknas som Sveriges främste kännare av Microsoft Visio..." :-)
Hmm, jag började använda Visio 1995 eller nått sånt, (Visio version 3).
Sedan dess har jag väl kört alla versioner, just nu använder jag 2010.
Använder det främst till för att rita och simulera rörsystem (flödes/Tryckfallsberäkningar, Beräkning av rördimension, beräkning av injusteringsventiler, mängdberäkning av vätska, rörmängd, ventilmängd etc, utskrift av märkskyltar) samt en jäkla massa mer saker.

Har även använt det för enklare mekaniska simuleringar, veroboardkonstruktion, snabba enkla elscheman, flödessheman för allehanda processer (kod mm), nätverksdiagram, puh, nu orkar jag inte längre räkna upp vad jag använder Visio till.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av Magnus_K »

@Krille Krokodil: Smidigt med en plug-in! Har inte använt Eclipse tidigare men eftersom både du och Icecap nämnt detta så ska jag lägga det på minnet och kolla närmre framöver.

@sodjan: Kul! Ska verkligen kolla närmare på det där programmet. Vet inte varför jag inte gjort det tidigare.

@TomasL: Kikade på den standarden och säkert jättebra. Tyvärr sviker kunskapen som vanligt så jag förstår inte så mycket av det som skrivs. Nu specificerade jag ju inte vid trådstarten hur stort och omfattande projekt gällde men det var medvetet. Vill höra hur det går till för både proffs som hobbyister. Nivån på den standarden är dock långt över min nivå men säkert perfekt för någon annan.

Doxygens kommentarsformat följde jag tydligen omedvetet men vad i hela friden är enumerering?
Vad jag förstår dig så bör man alltså inte göra t.ex

Kod: Markera allt

#define    DJÄVULEN     666   
utan enumerera detta istället?

Tycker verkligen om sättet ni kommenterat variablerna i din bifogade kod. Det kommer jag försöka följa och sen blockkommentera funktioner med mera. Får man fråga vad det är för anledning att ni kommenterar i svenska? Pga att ev. för en servicetekniker som ska felsöka eller helt enkelt för att vi talar svenska i detta land och det finns mindre risk för missförstånd?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46928
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av TomasL »

Tja, vi är ju svenskar, eller?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46928
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av TomasL »

[quote="Magnus_K"]
Vad jag förstår dig så bör man alltså inte göra t.ex

Kod: Markera allt

#define    DJÄVULEN     666   
utan enumerera detta istället?
[quote]
http://en.wikipedia.org/wiki/Enumerated_type#C
qx5
Inlägg: 1678
Blev medlem: 14 augusti 2014, 04:23:04

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av qx5 »

Vi är svenskar men skall man samarbeta med en person i t.ex Nederländerna så är Engelska att föredra.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46928
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur planerar och strukturerar ni ett större program?

Inlägg av TomasL »

Jo, kanske det, men nu gör vi inte det, så behovet föreligger inte.
Skriv svar