Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Avliva en myt.!

Postades av 2002-05-14 15:59:04 - Sven Åke Persson, i forum visual basic - allmänt, Tråden har 10 Kommentarer och lästs av 573 personer

Hello Folks.
Ofta ser man uttalande om att man inte skall ge en
variabel större "scope" än som är absolut nödvändigt.

Varför har jag aldrig förstått ? Det är skit samma ur effektivitet.

En Lokal variabel lämnar från sig sin minnesarea så fort programmet
når End Sub och åker vidare (variabeln dör).Kan väl anses effektivt.

Man skall undvika att använda Publica variabler från en BasModul. !
Varför ??? .Med BasModuler är det så att dom skulle ge sämre prestanda.

Med basmoduler är det så ,att första gången man använder dom
så tar det extra tid,därför dom laddas inte förrän man börjar använda dem.
När dom väl kommit i användning så är det ingen som helst skillnad i effektivitet.

Statiska variabler i lokala procedurer skall man defenitivt aldrig använda.

Tro att Vb är det enda progspråk som har denna avart kvar.
Om du behöver en Statisk variabel gör den till Global i den Form
den hör hemma.Statiska variabler är borttaget från .net

Statiska variabler ockuperar Stacken ,och försvinner inte när
programmet avslutas.

Ett vedträ i brasan
Sven :-)






Svara

Sv: Avliva en myt.!

Postades av 2002-05-14 16:24:06 - Johan Idstam

Variabler med för stort scope kan (kommer att) användas av den som ska in och pilla om ett år och då kan man vara ganska säker på att variabeln byter värde när man inte vill.

Jag satt med Access 2 och underhöll ett system med ca50 globala variabler som (mer eller mindre slumpmässigt) ändrade värde i hela systemet. Det var en avskräckande upplevelse.

Med ditt resonemang finns det ju ingen vits med objektorientering över huvud taget.


/johan/


Svara

Sv: Avliva en myt.!

Postades av 2002-05-14 16:41:42 - Sven Åke Persson

Hej :-)
Klart att man skall använda Lokala variabler så långt det går
men man skall inte vara rädd för att utnyttja den "power" som
finns i Globala .Både i BasModuler och Formulär.

Dåliga program som ställer till det som du beskriver,får man ju skylla
på VB:s urkassa OOP och lata programmerare som inte förstår
vad dom ställer till..

Johan skriver :
>Med ditt resonemang finns det ju ingen vits med objektorientering över huvud taget

VB har aldrig varit ett program med objektorientering. !

Tycker Sven


Svara

Sv: Avliva en myt.!

Postades av 2002-05-14 17:05:36 - Sven Åke Persson

Hej igen
Om du verkligen vill råka ut för trubbel så skall du skicka
en Global variabel till en Lokal Sub eller Funktion ByReference.

Sedan skall du ändra värdet på variabeln i den Lokala Sub/Func

Du skall alltid skriva så här Sub MinSub(ByVal input As ....)
likadant med Funktioner.

DS


Svara

Sv: Avliva en myt.!

Postades av 2002-05-14 19:40:38 - Niklas Jansson

>Statiska variabler i lokala procedurer skall man defenitivt aldrig använda.
>Tro att Vb är det enda progspråk som har denna avart kvar.
>Om du behöver en Statisk variabel gör den till Global i den Form
>den hör hemma.Statiska variabler är borttaget från .net

Ok. Så C/C++ räknas inte? Jag är inte så insatt i C#, men om de tar bort statiska variabler så tappar de 80% av C++-användarna direkt

>Statiska variabler ockuperar Stacken ,och försvinner inte när
>programmet avslutas.

Är du 100% säker på det?
Vad jag vet så finns det inget skäl till att det skulle vara så överhuvudtaget. Statiska variabler kan utan problem allokeras vid starten av ett program eller vid första inträdet i en funktion/sub.

Att det sedan inte skulle dellokeras vore fullkomligt idiotiskt. Det skulle i så fall betyda att VB kan hålla reda på vilka objekt du skapar och indirekt tar bort, men inte sina egna statiska variabler som är hur lätta som helst att hålla reda på.

/Niklas Jansson


Svara

Sv: Avliva en myt.!

Postades av 2002-05-14 20:50:26 - Johan Idstam

Egentligen håller jag nog med dig men det känns som om du hellre förespråker globala variabler än den objektorientering som trots allt finns i VB.

/johan/


Svara

Sv: Avliva en myt.!

Postades av 2002-05-15 08:07:02 - Tord Berglund

Nä du SvenPon, nu har du allt tagit dig vatten över huvudet. Att man skall undvika att använda globala variabler så långt det går har inget med effektiviteten under programkörningen att göra utan effektiviteten när man utvecklar och underhåller mjukvara. Den spgettikod man får med för mycket globala variabler är en mardröm som DEFINITIVT skall undvikas.

//Tord


Svara

Sv: Avliva en myt.!

Postades av 2002-05-15 08:45:37 - Emma Magnusson

Hej Sven

Jag måste erkänna att jag är en av dem som förespråkar att undvika
variabler i ett större scope än nödvändigt - jag har dock aldrig sagt ett pip
om att det skulle vara effektivare - vilket jag förutsatt att det inte är
eftersom jag inte testat eller försökt bevisa motsatsen.

Dock (som påpekats tidigare här i tråden) har det att göra med under-
hållningen av koden. Den som skriver den har normalt full kontroll på
sin kod under själva utvecklandet. Dock ställer variabler som finns i större
scope än nödvändigt till ett H-vete vid underhåll (både för utvecklaren
som hunnit glömma sin kod och andra).

Trots dessa åsikter händer det att jag använder globala variabler - men
då är jag också fullt medveten om vad jag gör och det är ett medvetet
val jag träffat under utvecklingen - och det finns alltid en kommentar
till som förklarar varför den ligger där - just för underhållningssyfte.

Mvh Emma


Svara

Sv: Avliva en myt.!

Postades av 2002-05-15 12:11:11 - Sven Åke Persson

Hej på Er
Bra där fick jag upp adrenalinet på Er.
Hoppas många nybörjare läst och tagit till sig.

ha det
Sven


Svara

Sv: Avliva en myt.!

Postades av 2002-05-15 21:10:07 - Raderat konto

"...göra med under-
hållningen av koden."
"... - just för underhållningssyfte."

Hmm, viss skillnad på underhåll och underhållning va? ;-)



Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 612
27 953
271 709
6 559
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies