Hvad er programkode. Program kildekode

Kildekoden bruges enten til at producere objektkode eller udføres af en fortolker. Ændringer foretages aldrig i objektkode, kun til kildekode, og konverteres derefter tilbage til objektkode.

Et andet vigtigt formål med kildekoden er som en beskrivelse af et program. Baseret på programmets tekst kan du rekonstruere logikken i dets adfærd. Kommentarer bruges til at gøre kildekoden lettere at forstå. Der findes også værktøjer, der giver dig mulighed for automatisk at få kildekodedokumentation – den såkaldte. dokumentationsgeneratorer.

Derudover har kildekoden mange andre anvendelser. Det kan bruges som et undervisningsredskab; Begyndende programmører kan finde det nyttigt at undersøge eksisterende kildekode for at lære programmeringsteknikker og -metoder. Det bruges også som et kommunikationsværktøj mellem erfarne programmører på grund af dets (ideelt set) kortfattede og entydige karakter. Kodedeling blandt udviklere nævnes ofte som en medvirkende faktor til at forbedre programmørens oplevelse.

Programmører flytter ofte kildekode fra et projekt til et andet, hvilket kaldes genbrug af kode ( Software genbrugelighed).

Kildekode er en kritisk komponent for processen med at portere software til andre platforme. Uden kildekoden til noget stykke software er portering enten for svært eller fuldstændig umuligt.

Organisation

Kildekoden til en del af softwaren (modul, komponent) kan bestå af en eller flere filer. Programkode er ikke nødvendigvis kun skrevet på ét programmeringssprog. For eksempel indeholder programmer skrevet i C-sprog, til optimeringsformål, indsættelser af kode i assemblersprog. Det er også muligt, at nogle komponenter eller dele af et program er skrevet på forskellige sprog og derefter samlet i et enkelt eksekverbart modul ved hjælp af en teknologi kendt som bibliotekslinking ( biblioteksforbindelse).

Kompleks software kræver dusinvis eller endda hundredvis af kildekodefiler, der skal bygges. I sådanne tilfælde, for at forenkle opbygningen, bruges der normalt projektfiler, der indeholder en beskrivelse af afhængighederne mellem kildekodefilerne og beskriver byggeprocessen. Disse filer kan også indeholde andre compiler- og designmiljøparametre. Forskellige projektfiler kan bruges til forskellige designmiljøer, og i nogle miljøer kan disse filer være i tekstformat, velegnet til direkte redigering af en programmør ved hjælp af universelle teksteditorer; i andre miljøer understøttes specielle formater, og filer oprettes og ændres ved hjælp af specialværktøjsprogrammer. Projektfiler er normalt inkluderet i udtrykket "kildekode". Langt de fleste moderne sprogmiljøer kræver brug af projektfiler, uanset kompleksiteten af ​​den anden kildekode, der indgår i projektet. Ofte refererer kildekoden også til ressourcefiler, der indeholder forskellige data, for eksempel grafiske billeder, der er nødvendige for at bygge et program.

For at lette arbejdet med kildekode, til samarbejde om kode af et team af programmører, bruges versionskontrolsystemer.

Kvalitet

I modsætning til mennesker er der ingen "velskrevet" eller "dårligt skrevet" kode til en computer. Men hvordan koden skrives kan i høj grad påvirken. Kvaliteten af ​​kildekoden kan diskuteres i sammenhæng med følgende parametre:

  • kodelæsbarhed (herunder tilstedeværelsen eller fraværet af kodekommentarer - blokke af vilkårlig tekst udeladt af compilerprogrammet);
  • let support, test, fejlfinding og fejlfinding, modifikation og portering;
  • lav kompleksitet;
  • lavt ressourceforbrug - hukommelse, processor, diskplads;
  • fravær af kommentarer fra compileren;
  • fravær af "skrald" - såkaldte "døde variable" (det vil sige variabler, der ikke bruges), operatører, der aldrig udføres, kommentarer fra tidligere versioner af denne kode, der har mistet deres betydning, osv.

Ikke-eksekverbar kildekode

Copyleft-licenser til fri software kræver distribution af kildekoden. Disse licenser bruges også ofte til værker, der ikke er software - for eksempel dokumentation, billeder, datafiler til computerspil.

I sådanne tilfælde anses kildekoden for at være den form for værket, der foretrækkes til redigering. I andre licenser end software kan det også omtales som versionen "gennemsigtigt format". Dette kan for eksempel være:

  • for en fil komprimeret med tab af data - den tabsfrie version;
  • for et rasterbillede - vektorversion;
  • for et todimensionelt billede af en tredimensionel model - tredimensionel model
  • for et tekstbillede - den samme tekst i tekstformat;

og endelig selve filen, hvis den opfylder de angivne betingelser, eller hvis en mere bekvem version simpelthen ikke eksisterede.

For at programmet kan udføre de handlinger, der er foreskrevet til det, for eksempel beregne, vise resultatet, reagere på brugerhandlinger, for eksempel trykke på knapper, vælge linjer fra en liste, er det nødvendigt programkode.

Program kode er et sæt ord og symboler for et programmeringssprog.

Alfabet - dette er et komplet sæt bogstaver, tal og symboler, der er vedtaget på sproget for at angive data og handlinger på dem.

Visual Basic sprogalfabetet indeholder følgende tegnsæt:

Store bogstaver (A - Z) og små bogstaver (a - z) i det latinske alfabet;

Tal fra 0 til 9;

Tegn på aritmetiske operationer (i stigende prioritetsrækkefølge): +, -, *, /, |, ^;

Tegn på relationelle operationer: =,<, >.

Tegnsætningstegn og skilletegn: ,  . : ; ();

Sprogets alfabet omfatter også reserveret ord, der ikke kan bruges som navne variabler eller procedurer. Eksempler på reserverede ord: Dim, Sub, Heltal osv. Som standard bruges blå skrifttype til at fremhæve nøgleord i Visual Basic-koderedigeringsvinduet.

Ord og symboler skal skrives strengt efter sprogets regler, uden stave- og tegnsætningsfejl. Det er den nøjagtige stavemåde, der gør det muligt for computeren entydigt at forstå og udføre programmet.

Kode vindue

Programkoden skrives i kodevinduet. Hver formular har et sådant vindue.

Åbn kodevindue:

1 vej - i vinduet Projekt Explorer højreklik på den ønskede formular og vælg fra den menu, der åbnes Vis kode.

Bemærk: Kodevinduet er muligvis ikke tilknyttet formularen. Det separate kodevindue kaldes modul. Moduler i vinduet Project Explorer er grupperet i en gruppe Moduler. For at åbne et vindue med modulkoden, skal du i vinduet Projekt Explorer dobbeltklik på modulnavnet.

Metode 2 - dobbeltklik på kontrolelementet på formularen eller på selve formularen i formularvinduet.

Bemærk: dette åbner ikke kun kodevinduet, men skaber også en hændelseshåndteringsprocedure (se nedenfor).

Kode vindues struktur:

Ris. 7. Programkodevindue.

    Liste over kontroller

    Liste over kontrolhændelser

    Procedure (kode)

Procedurer

Da når køleskabet åbnes, lyser lampen, og når hanen åbnes, løber der vand ud, kan vi sige, at når åbningen af ​​køleskabet indtræffer, udføres en procedure, og åbningen af ​​hanen forårsager en anden. procedure. På samme måde består programkoden af ​​separate procedurer, som hver udfører sine egne specifikke handlinger, for eksempel tænder en procedure en lampe, en anden tænder (pumper) vand.

Visual Basic - proceduremæssigt programmeringssprog. Det betyder, at du kan oprette kodeblokke i den, som derefter kan refereres til ved navn. Når først en kodeblok har et navn, kan den være det hedder og afsluttet. Det er ligesom et program i et program. Små programmer, der "lever" i store programmer, kaldes funktioner hvis de returnerer en vis værdi, og underrutiner, hvis de ikke returnerer værdier.

Underrutiner og funktioner gør programmering nemmere og hurtigere, og koden du opretter mere pålidelig. At skabe dine egne rutiner og funktioner er det første skridt til udvikling indkapslet og genbrugelig kode. Indkapsling betyder at skjule implementeringen af ​​et objekts egenskaber og metoder bag dets eksterne grænseflade.

Procedure (subrutine) er et separat fragment af programkode, ved hjælp af hvilken en lille opgave normalt løses; det er en logisk opbygget, lille programblok, som hele programmet er opdelt i.

Hvis en procedure kun kan udføres inden for en given programblok (f.eks. kun i denne form), og ikke kan kaldes fra en anden programblok, så er en sådan procedure lokal. En lokal procedure er specificeret ved hjælp af nøgleordet Private Sub.

Hvis en procedure kan kaldes fra andre programblokke (f.eks. fra en anden form), så er en sådan procedure global. En global procedure er specificeret ved hjælp af nøgleordet Public Sub.

Som standard, hvis der ikke er et nøgleord før det underordnede nøgleord, er dette en global procedure.

Procedurerne er:

    Begivenhedsprocedurer. Udføres, når en hændelse opstår på en kontrol (eller formular). En hændelsesprocedure er altid forbundet med et eller andet objekt. For at kalde et objekts hændelsesprocedure skal du blot dobbeltklikke på objektet.

    Vilkårlige procedurer. Det er ikke forbundet med begivenheder og kan kaldes fra enhver anden procedure og udføres til enhver tid. Hvis den samme programblok forekommer i alle former i et program, kan den kun skrives én gang og ét sted, i form af et globalt fælles program. Starten af ​​et generelt program er ikke forbundet med et objekt og med en hændelse, men sker, når det tilgås fra andre programblokke. Indkaldelse af en generel procedure fra samme formular: ProcedureName (ParameterList). Kald en generisk procedure fra en anden formular: ET OBJEKT. ProcedureName (ParameterList). Den generelle procedure kan være både lokal privat og global offentlig

Procedurestruktur

Proceduren består af følgende elementer:

    Procedurehoved - markerer begyndelsen af ​​proceduren, dens type, formål (hændelse).

Et eksempel på en proceduretitel, der udføres, når der klikkes på en knap ved navn Command1.

    Ord Privat betyder lukket, dvs. proceduren hører kun til denne formular eller modul og kan ikke bruges af andre containere (formularer, moduler). Hvis dette ord udelades, vil proceduren være åben for andre beholdere.

    Sub- procedure.

Bemærk: Ud over procedurer er der funktioner. Funktioner er ikke forbundet med begivenheder og kan desuden returnere resultatet af deres arbejde (beregninger).

    Kontrolelement(eller formularnavn): Dette angiver det nøjagtige navn på elementet, der er gemt i egenskaben Navn.

    Begivenhed- navn på begivenheden. Her er nogle begivenheder:

    Klik - klik med musen;

    DblClick - dobbeltklik;

    Tastetryk - tastetryk;

    UnLoad - aflæsning af formularen (når du lukker formularen, afslutter programmet);

    Aktiver - aktivering af formularen (når du klikker på formularen og dens titel fremhæves);

    Deaktiver - deaktiver formularen (når du klikker på en anden formular).

    Initialiser - når du opretter et objekt af typen form.

    Ændr størrelse - når du ændrer formularstørrelsen

    Afslut - i det øjeblik, formularen slettes

    Argumenter- dette er de indledende data, der videregives til proceduren for behandling.

Brugerdefinerede procedurer har følgende overskrift:

Procedurenavn der må være enestående, skal begynde med et bogstav og må ikke indeholde mellemrum eller andre tegn end understregninger. Proceduren kaldes ved navn, når den skal udføres.

    Afslutning af proceduren - afslutter programkoden for proceduren: End Sub

Bemærk: for funktioner: Afslut funktion

    Procedure organ - det er linjerne mellem titlen og slutningen. Deres antal er ubegrænset. Linjerne indeholder instruktioner, der skal udføres, når proceduren kaldes (hændelsen indtræffer).

Subrutine (Sub) - er en procedure, der udfører programkode i sin blok og ikke returnerer en værdi. Syntaksen for en simpel subrutine er:

( Privat | Offentlig ) Sub SubMain ()

..kodelinjer Ende Sub

Omfanget af subrutinen;

Under - proceduretype (nemlig subrutine);

subMain navnet givet til subrutinen;

End Sub - slutningen af ​​subrutinekodeblokken.

Oprettelse af en procedure

For at oprette en procedure skal du gøre følgende:

    1 vej - dobbeltklik på den ønskede kontrol eller formular. Kodevinduet åbnes, og titlen og slutningen af ​​proceduren vises i det. Hvis der er behov for en anden begivenhed, vælges den ved hjælp af listen i øverste højre hjørne af kodevinduet.

    Metode 2 - åbn kodevinduet, gå til Værktøjer → Tilføj procedure → angiv navnet og parametrene for proceduren → Ok.

    3 vejs - åbn kodevinduet og indtast de nødvendige linjer fra tastaturet.

Resultatet skulle være:

Privat underkommando1_Klik()

Indkaldelse af procedurer for udførelse

    For at en hændelsesprocedure kan udføres, skal hændelsen forekomme.

    For at udføre en vilkårlig procedure skal du angive navnet på denne procedure i en anden procedures brødtekst.

Privat underkommando1_Klik()

Her, når du klikker på Command1-knappen, sker klikhændelsen, og Kvadrat-proceduren kaldes og udføres.

Procedurekoden udføres linje for linje og fra top til bund.

Funktion (Fungere) - det er en procedure, der udfører linjer af sin kode og returnerer en vis værdi. Syntaksen for en simpel funktion er:

Fungere Funktionsnavn() Som datatype

... linjerkode

Funktionsnavn = ReturnValueAfslut funktion

Funktionsomfang;

Funktion er et Visual Basic nøgleord, der angiver, at det er en funktion;

Funktionsnavn () - navnet på funktionen;

AS er et Visual Basic nøgleord, der går forud for tildelingen af ​​en datatype;

Datatype returværdi datatype;

Returværdi den værdi, der skal tildeles funktionsnavnet (dette er et meget vigtigt punkt!);

End Function - slutningen af ​​denne kodeblok.

Hjem » Hvad er programkode, applikationer, fejl

Enhver software eller onlinetjeneste, såsom Word, til Windows, WhatsApp eller en browser, som hundredvis af millioner af mennesker bruger hver dag, på den ene eller anden måde, inkluderer særlige instruktioner. Eller en speciel programkode, som maskinen forstår, fortæller den, hvad den skal gøre eller ikke gøre. Eller hvordan man reagerer korrekt på brugerhandlinger. Hvilken programkode vil blive diskuteret i denne artikel. Beskrivelse

Programkode er tekst udført på et specielt sprog, der er forståeligt af en maskine. Det kan udføres direkte i oversætterens tekst eller overføres til en speciel form af compileren.

Kildekoden kan bestå af flere filer. De skal alle have samme format. Programteksten i dem skal være skrevet på samme sprog. Der kan dog være nogle undtagelser. For eksempel i webudvikling kan en sidefil indeholde flere forskellige programmeringssprog og standarder. Afhængigt af projektets kompleksitet kan du forestille dig sådanne sprog og teknologier som PHP, HTML og javascript, Java og andre.

Komplekse softwaresystemer kan kræve et stort antal filer, som kan være så mange som hundredvis. For at samarbejde om så store projekter bruger programmører meget ofte versionskontrolsystemer. De giver dig mulighed for samtidigt at arbejde med flere kopier af kildekoden, som på et bestemt udviklingstrin kan kombineres til en fælles.

Kode kvalitet

Computeren er ikke i stand til at forstå, hvordan din kode er skrevet til den, god eller dårlig. Hvis det er sundt og fejlfrit, kører maskinen det alligevel. Dårlig kode kan komplicere softwarevedligeholdelsesopgaver. Dette gælder især for store projekter. Som regel er kode af høj kvalitet karakteriseret ved flere parametre: Kodelæsbarhed. Et blik på det burde være nok til generelt at forstå, at et stykke kode er ved at blive implementeret.Tilstedeværelsen af ​​klare og kortfattede kommentarer. Denne indstilling påvirker i høj grad læsbarheden, nem fejlfinding, test, vedligeholdelse og fejlfinding af programkoden Lav kompleksitet Kodeoptimering. Organiser dette på en sådan måde, at programmet bruger færre systemressourcer, såsom hukommelse, processortid og diskplads. Det vil sige ubrugte variable eller kodeblokke, der aldrig når kontrolprogrammet Ondsindet kode

Ud over nyttige programmer, der kan skade systemet eller endda hardwaren. Typisk er en sådan kode skrevet af folk, der er interesserede i nogle fordele ved den nuværende proces. For eksempel programmer, der kan stjæle personlige oplysninger fra computerbrugere. De kan være et kortnummer, pasdata eller enhver anden fortrolig information. Andre kan simpelthen påvirke systemet og derved forårsage nedbrud og forhindre fuld funktionalitet. Tips til at skrive god kode

Jeff Vogel, en mangeårig programmør, delte nogle tips til at lære god kode til begyndere.

Han foreslår især, at du altid kommenterer din kode. Hvad er en anmeldelse? Dette er en klar og kortfattet beskrivelse af, hvad der sker i denne kodelinje eller funktion. Det faktum, at udviklingen af ​​et bestemt program kan blive forsinket i en måned eller endda suspenderet i nogen tid. Når du vender tilbage til at arbejde på et projekt i et par måneder, vil selv en erfaren programmør have svært ved at forstå programmet. Men detaljerede kommentarer kan genoprette kæden af ​​begivenheder og adfærd.

Han anbefaler endvidere at bruge globale variabler så ofte som muligt. Dette sker, fordi når du ændrer programkoden, skal du kun justere værdien af ​​variablen ét sted. Ved at bruge værdien af ​​en funktion eller procedure, vil de straks vide om den og vil arbejde med nye data Variablenavne og fejldetektion

Det korrekte navn på variabler vil også bidrage til betydeligt at reducere den tid, der bruges på at studere programmets kildekode, selvom koden er skrevet af dig selv. Det vil sige, at god kode er tekst, hvor variabler og funktioner har navne, du kan forstå, hvad de gør eller gemmer. I dette tilfælde bør du prøve ikke at bruge lange variabelnavne.

Det er meget vigtigt at være meget opmærksom på rettidig korrektion af fejl. Hvad er programkoden, der blev udført perfekt? Denne kode har ingen fejl. Det vil sige, at enhver sløjfegren eller ændring i en variabel, eller endda enhver uventet brugerhandling, altid vil føre til det forventede resultat. Dette opnås ved at teste softwareproduktet i flere tilfælde.

Detektering af kodefejl, eller rettere, deres forudsigelse er mulig på programdesignstadiet. At få koden til at tjekke for forskellige forhold og mulige undtagelser vil hjælpe med at styre kursusprogrammet.

Optimering er nødvendig for at skrive et brugbart program, der effektivt vil bruge computerressourcer og for at undgå fejl i udførelsen af ​​programkoden. Hvad er det optimale program? Dette er et produkt, der kan udføre alle de nævnte funktioner, er støjsvagt og økonomisk.

Næsten altid kan optimering til stabil programdrift kun opnås ved at udføre flere tests på forskellige platforme og under forskellige forhold. Hvis et program begynder at opføre sig uforudsigeligt, skal du finde ud af, hvad der forårsager det og eliminere eller kapere processen.

Hvad er en kode? Med enkle ord er det et sæt instruktioner og koncepter til en computer. Den indeholder tekst, som en compiler eller tolk kan omdanne til maskinlæsbart sprog. Det vil sige, at koden i bund og grund er et mellemled mellem en person og en computer, hvilket forenkler deres forhold.

Kildekoder til programmer og spil

Kilder Den bedste bog for en programmør er at arbejde med kildekoden. Afsnittet indeholder kildekoder i en lang række retninger: kildekoder til spil, netværksprogrammer og små kildekoder til gennemgang. Sidens kildekode er skrevet i programmeringssprogene C++ og C#. For at tage et lille, men algoritmisk vigtigt skridt i udviklingen af ​​en applikation, er det nødvendigt at gennemgå en masse specialiseret litteratur og teste mange varianter af programkoder. I sådanne tilfælde er en fungerende kilde med en færdig løsning meget nyttig. Oftest er det ikke nødvendigt at parse programkoder fuldstændigt; det er nok kun at vælge de nødvendige linjer. Kilderne til dette websted supplerer samlingen af ​​kildekoder, der er udgivet på programmeringsrelaterede websteder. Hver vigtig kodelinje er ledsaget af detaljerede kommentarer.

Programmer Dette afsnit indeholder applikationsprogrammer, der hjælper med beregninger, værktøjer til webmastere og nyttige hjælpeprogrammer til computerbrugere. Her kan du også finde computer minispil, puslespil, kortspil og andet. De fleste af webstedets programmer og spil har deres kilder i kildekodeafsnittet. Efter mindre ændringer kan kildekoden bruges i forskellige egne projekter. Kilder kommenteres i detaljer på webstedets sider eller i selve kildefilerne.

Artikler Et udvalg af artikler om programmering - diskussioner af professionelle og uerfarne programmører om programmering, programmeringssprog og valg af programmeringsværktøjer. Den fortæller om fremkomsten af ​​videnskaben om programmering, skabelsen af ​​programmeringssprog og deres forskelle. I artiklerne kan du finde interessante diskussioner fra studerende fra tekniske universiteter og uerfarne programmører.

Licenseret software Når man udvikler programmer eller begynder at programmere, er det umuligt at undvære specialiseret software. På et vist niveau af programmeringserfaring bestemmes ens egen specialiserede retning, ens egen gentlemans sæt af software. Ved at bruge hackede eller piratkopierede programmer til din udvikling, vil du før eller siden indse, at det er umuligt at undvære licenseret software, der garanterer problemfri fuld funktionalitet og komfortabel programmering. I øjeblikket tilbydes en masse professionel software til rimelige priser til private udviklere og små programmeringsorganisationer. Dette afsnit tilbyder mange nyttige programmer. Udvalget af licenserede softwaretilbud inkluderer en enorm mængde software til applikationsudviklere, netværksprogrammer, webprogrammører, grafiske programmer til kunstner-designere og mange andre. Afsnittet indeholder også programmer, der er oprettet for at sikre sikkerheden af ​​dit arbejde på personlige computere: antivirus, firewalls, firewalls, firewalls.

Bøger Teoretisk forberedelse skal nødvendigvis kombineres med praktisk arbejde og endda gå forud. Når du kun laver én programmeringspraksis, indser du før eller siden, hvor lavt loftet for din viden er. Det er her bøger fra forfattere med stor programmeringserfaring hjælper, lige fra forfattere, der har bevæget sig fra kategorien almindelige programmører til kategorien rigtige mestre, som enkelt og tydeligt forklarer komplekse programmeringsalgoritmer. Desuden kan en bog på papir ikke fuldt ud erstattes af en elektronisk bog.

Begrebet programkode

Kvaliteten af ​​assimilering af information læst på papir er meget højere, end hvis den samme bog læses på en computerskærm. Afsnittet omfatter et stort antal bøger, der er nyttige inden for datalogi. Vi tilbyder de nyeste publikationer med interessant og relevant indhold. Her kan du finde litteratur om programmering, internetprogrammering, oprettelse og vedligeholdelse af computernetværk, bøger om oprettelse og behandling af computerlyd og musik, digitalisering af video og skabelse af hjemmefilm. Bøger vil hjælpe dig med at lære computergrafik.

Kilde(normalt bare programtekst, Engelsk kildekode) er ethvert sæt instruktioner eller erklæringer skrevet på et computerprogrammeringssprog og i en form, der kan læses af en person. Kildekoden gør det muligt for programmøren at kommunikere med computeren ved hjælp af et begrænset sæt instruktioner.

Kildekode skrevet i HTML ved hjælp af JavaScript

Kildekoden, der repræsenterer et program, er typisk indeholdt i en eller flere tekstfiler, nogle gange gemt i databaser som lagrede procedurer, og kan også vises som kodestykker trykt i bøger eller andre trykmedier. En stor samling af kildekodefiler kan være organiseret i et bibliotekstræ, i hvilket tilfælde det også kan være kendt som kildekodetræ(Engelsk) kildetræ) eller kodetræets kildekodetræ osv.

Program kildekode er et sæt filer, der er nødvendige for at konvertere fra menneskelig læsbar form til en eller anden form for computer eksekverbar kode.

12.3.2. Eksempel kode

Der er to mulige retninger for kodeudførelse: oversat til maskinkode ved hjælp af en compiler designet til en bestemt computerarkitektur, eller udføres direkte på teksten ved hjælp af en tolk.

Mål

Kildekoden bruges primært som input til en proces, der producerer eksekverbare programmer (det vil sige, at den kompileres eller fortolkes). Det bruges også som et middel til at overføre algoritmer mellem mennesker (for eksempel kodefragmenter i bøger). Portering af et program til andre computerplatforme uden råkode er normalt ret svært. Selvom porteringsmuligheder uden kildekoder er mulige, for eksempel binær oversættelse eller emulering af den originale platform.

Licensering

Softwareværktøjer og kildekoden, der ledsager dem, falder typisk ind under et af to licensparadigmer: open source-software og ikke-fri (eller proprietær) software. Samlet set er softwaren åben, hvis kildekoden frit kan bruges, distribueres, ændres og analyseres, og proprietære, hvis kildekoden holdes hemmelig, eller er privatejet og adgangen til den er begrænset. For at sikre tavshedspligt anvendes primært bestemmelserne i forskellige ophavsretslove, men også ofte bruges forretningshemmeligheder og patenter. Derudover kommer programdistributionen normalt med en licensaftale (EULA), som primært forbyder dekompilering, reverse engineering, analyse, redigering eller omgåelse af kopibeskyttelse. Typer af kildekodebeskyttelse (ud over traditionel kompilering til objektkode omfatter kodekryptering, kodesløring). kode sløring) eller kodemorphing.

Kvalitet

Måden et program er skrevet på kan have meget vigtige konsekvenser for dets vedligeholdelse. Mange lærebøger i programmeringsstil insisterer på vigtigheden af ​​læsbarhed, og mange retningslinjer fokuserer på at vedligeholde et programs kildekode, som inkluderer fejlretning og opdateringer. Andre prioriteter, såsom programudførelseshastighed og evnen til at kompilere et program til flere arkitekturer, gør ofte kodelæsbarhed til en mindre vigtig overvejelse, fordi kvalitet Koden afhænger helt af dens formål.

Da programmering har eksisteret i industriel skala i årtier, er der udviklet passende kodeformateringsstandarder. Nogle standarder er formaliserede, mens andre er uudtalte regler. For eksempel regulerer den ungarske notation navngivningen af ​​identifikatorer i et program (ofte bestemmes dette ved at udstede en virksomhedsomfattende navnekonvention), andre standarder definerer reglerne for at arrangere syntakselementer.

Kilde(Også original tekst, eller bare kilde, kode, Engelsk Kode) - et computerprogram i tekstform på et hvilket som helst programmeringssprog. Kildekoden er enten oversat til eksekverbar kode ved hjælp af en compiler designet til en bestemt computerarkitektur, eller udføres direkte fra teksten ved hjælp af en tolk.

Formål

Kildekoden bruges enten til at producere objektkode eller udføres af en fortolker. Ændringer foretages aldrig i objektkode, kun til kildekode, og konverteres derefter tilbage til objektkode.

Et andet vigtigt formål med kildekoden er som en beskrivelse af et program. Baseret på programmets tekst kan du rekonstruere logikken i dets adfærd. Kommentarer bruges til at gøre kildekoden lettere at forstå. Der findes også værktøjer, der giver dig mulighed for automatisk at få kildekodedokumentation – den såkaldte. dokumentationsgeneratorer.

Derudover har kildekoden mange andre anvendelser.

HTML programkode

Det kan bruges som et undervisningsredskab; Begyndende programmører kan finde det nyttigt at undersøge eksisterende kildekode for at lære programmeringsteknikker og -metoder. Det bruges også som et kommunikationsværktøj mellem erfarne programmører på grund af dets (ideelt set) kortfattede og entydige karakter. Kodedeling blandt udviklere nævnes ofte som en medvirkende faktor til at forbedre programmørens oplevelse.

Programmører flytter ofte kildekode fra et projekt til et andet, hvilket kaldes genbrug af kode ( Software genbrugelighed).

Kildekode er en kritisk komponent for processen med at portere software til andre platforme. Uden kildekoden til noget stykke software er portering enten for svært eller fuldstændig umuligt...

Organisation

Kildekoden til en del af softwaren (modul, komponent) kan bestå af en eller flere filer. Programkode er ikke nødvendigvis kun skrevet på ét programmeringssprog. For eksempel indeholder programmer skrevet i C, til optimeringsformål, ofte indsættelser af kode i assemblersprog. Situationer er også mulige, når nogle komponenter eller dele af programmet er skrevet på forskellige sprog, med efterfølgende samling til et enkelt eksekverbart modul ved hjælp af en teknologi kendt som bibliotekslinking ( biblioteksforbindelse).

Kompleks software kræver dusinvis eller endda hundredvis af kildekodefiler, der skal bygges.

I sådanne tilfælde bruges filer normalt til at forenkle samlingen Makefile, der indeholder en beskrivelse af afhængighederne mellem kildekodefiler og beskriver byggeprocessen.

For at lette arbejdet med kildekode, til samarbejde om kode af et team af programmører, bruges versionskontrolsystemer.

Kvalitet

I modsætning til mennesker er der ingen "velskrevet" eller "dårligt skrevet" kode til en computer. Men hvordan koden skrives kan i høj grad påvirken. Kvaliteten af ​​kildekoden kan diskuteres i sammenhæng med følgende parametre:

  • kode læsbarhed
  • let support, test, fejlfinding og fejlfinding, modifikation og portering
  • lav sværhedsgrad
  • lavt ressourceforbrug - hukommelse, processor, diskplads
  • ingen kommentarer ved kompilering af programmet

Formål

Kildekoden bruges enten til at producere objektkode eller udføres af en fortolker. Ændringer foretages aldrig i objektkode, kun til kildekode, og konverteres derefter tilbage til objektkode.

Et andet vigtigt formål med kildekoden er som en beskrivelse af et program. Baseret på programmets tekst kan du rekonstruere logikken i dets adfærd. Kommentarer bruges til at gøre kildekoden lettere at forstå. Der findes også værktøjer, der giver dig mulighed for automatisk at få kildekodedokumentation – den såkaldte. dokumentationsgeneratorer.

Derudover har kildekoden mange andre anvendelser. Det kan bruges som et undervisningsredskab; Begyndende programmører kan finde det nyttigt at undersøge eksisterende kildekode for at lære programmeringsteknikker og -metoder. Det bruges også som et kommunikationsværktøj mellem erfarne programmører på grund af dets (ideelt set) kortfattede og entydige karakter. Kodedeling blandt udviklere nævnes ofte som en medvirkende faktor til at forbedre programmørens oplevelse.

Programmører flytter ofte kildekode fra et projekt til et andet, hvilket kaldes genbrug af kode ( Software genbrugelighed).

Kildekode er en kritisk komponent for processen med at portere software til andre platforme. Uden kildekoden til noget stykke software er portering enten for svært eller fuldstændig umuligt.

Organisation

Kildekoden til en del af softwaren (modul, komponent) kan bestå af en eller flere filer. Programkode er ikke nødvendigvis kun skrevet på ét programmeringssprog. For eksempel indeholder programmer skrevet i C-sprog, til optimeringsformål, indsættelser af kode i assemblersprog. Det er også muligt, at nogle komponenter eller dele af et program er skrevet på forskellige sprog og derefter samlet i et enkelt eksekverbart modul ved hjælp af en teknologi kendt som bibliotekslinking ( biblioteksforbindelse).

Kompleks software kræver dusinvis eller endda hundredvis af kildekodefiler, der skal bygges. I sådanne tilfælde, for at forenkle opbygningen, bruges der normalt projektfiler, der indeholder en beskrivelse af afhængighederne mellem kildekodefilerne og beskriver byggeprocessen. Disse filer kan også indeholde andre compiler- og designmiljøparametre. Til forskellige designmiljøer kan forskellige projektfiler bruges, og i nogle miljøer kan disse filer være i et tekstformat, der er egnet til direkte redigering af en programmør ved hjælp af universelle teksteditorer; i andre miljøer understøttes specielle formater, og oprettelse og ændring af filer udføres ved hjælp af specialværktøjsprogrammer. Projektfiler er normalt inkluderet i udtrykket "kildekode". Langt de fleste moderne sprogmiljøer kræver brug af projektfiler, uanset kompleksiteten af ​​den anden kildekode, der indgår i projektet. Ofte refererer kildekoden også til ressourcefiler, der indeholder forskellige data, for eksempel grafiske billeder, der er nødvendige for at bygge et program.

For at lette arbejdet med kildekode, til samarbejde om kode af et team af programmører, bruges versionskontrolsystemer.

Kvalitet

I modsætning til mennesker er der ingen "velskrevet" eller "dårligt skrevet" kode til en computer. Men hvordan koden skrives kan i høj grad påvirken. Kvaliteten af ​​kildekoden kan bedømmes ud fra følgende parametre:

  • kodelæsbarhed (herunder tilstedeværelsen eller fraværet af kodekommentarer;
  • let support, test, fejlfinding og fejlfinding, modifikation og portering;
  • lav kompleksitet;
  • lavt ressourceforbrug - hukommelse, processor, diskplads;
  • fravær af kommentarer fra compileren;
  • fravær af "skrald" - ubrugte variabler, utilgængelige kodeblokke, unødvendige forældede kommentarer osv.

Ikke-eksekverbar kildekode

se også

  • Eksempel: Hello world-program

Links

Wikimedia Foundation. 2010.

Se, hvad "Programkode" er i andre ordbøger:

    softwarepakke- 3.19 softwarepakke: En arkivfil, der indeholder programkode i binær eller kildeform, samt metadata om programmet, dets version, afhængigheder og anden information. Kilde: GOST R 54593 2011: Informationsteknologier. Gratis... ...

    - (Engelsk: Netscape Plugin Application Programming Interface, NPAPI er en plugin-udviklingsarkitektur på tværs af platforme, der understøttes af mange browsere. Interfacet er udviklet til Netscape Navigator-familien af ​​browsere, startende med Netscape... ... Wikipedia

    Inden for datalogi er en softwareagent et program, der indgår i et mellemliggende forhold til en bruger eller et andet program. Ordet "agent" kommer fra det latinske agere (at gøre) og betyder en aftale om at udføre handlinger fra ... ... Wikipedia

    Framework er et begreb med en vag betydning. Almindeligvis brugt i programmering for at betegne "en simpel konceptuel struktur, der bruges til at løse et komplekst problemløsende problem." Betydningen af ​​dette udtryk afhænger væsentligt af dets kontekst... ... Wikipedia

    Denne artikel handler om kommandosystemet generelt; For instruktioner, se: Transaktionskode. Maskinkode (platformorienteret kode), maskinsprog, et system af kommandoer (sæt af operationskoder) på en specifik computer, som fortolkes ... ... Wikipedia

    Officiel terminologi

    Virus (computer, software)- eksekverbar programkode eller et fortolket sæt instruktioner, der har egenskaber som uautoriseret distribution og selvreproduktion. De oprettede dubletter af en computervirus falder ikke altid sammen med originalen, men bevarer... ... Ordbogsopslagsbog med vilkår for normativ og teknisk dokumentation

    - (engelsk administreret kode) er et udtryk introduceret af Microsoft for at betegne koden for et program, der udføres under "kontrol" af en virtuel maskine. NET Common Language Runtime. I dette tilfælde kaldes almindelig maskinkode ikke-administreret kode... ... Wikipedia

    En patch eller patch (engelsk patch /pætʃ/ patch) er et automatiseret, separat leveret softwareværktøj, der bruges til at løse problemer i software eller ændre dets funktionalitet, samt processen med at installere selve patchen (... ... Wikipedia

    Pyramid Type Webapplikationsrammeudvikler ... Wikipedia

Bøger

  • Objektorienteret design: Koncepter og programkode, Gast Holger. Denne bog er designet til at hjælpe læseren med at få en dyb forståelse af begrebet objekter og frigøre deres sande potentiale for at skrive kode, der fungerer effektivt i den virkelige verden. Den betragter...

Dette er en indledende del, der er viet til det teoretiske grundlag for programmering. Læseren kan sætte sig ind i det og derefter gå videre til at studere programmering i praksis (links i begyndelsen og slutningen af ​​dette materiale), kan vende sig til praktiske øvelser med det samme, eller kan fortsætte med at stifte bekendtskab med teorien om softwareudvikling, ved at vælge spørgsmål, der interesserer ham fra listen ovenfor. Med hensyn til denne artikel er her dens hovedafsnit:

Råd: Når du læser yderligere materiale, skal du ikke forsøge at huske alle de termer og definitioner, der optræder i hele historien. Alt vil falde på plads med tiden, især da hyperteksten på internetsider er god, fordi links til en detaljeret præsentation af materialet kan findes, hvor det er nødvendigt. Du kan altid vende tilbage til den ønskede side og gøre det præcis, når du føler mangel på viden. Hvis et afsnit er svært for dig at forstå, så spring det over. Hvis du ikke vender tilbage til det i fremtiden, betyder det, at det viste sig at være unødvendigt for dig i færd med at lære det grundlæggende i programmering.

Hvad er en algoritme, programmering og pseudokode

Lad os starte med at definere, hvad en algoritme er. Algoritme er rækkefølgen af ​​handlinger, der skal udføres for at løse et specifikt problem. Konceptet med en algoritme er ikke kun forbundet med programmer, der udføres på , så svaret på spørgsmålet "hvem skal udføre" kan være enhver eller hvad som helst: en person, en robot, computerteknologi osv. Algoritme- dette er en instruktion eller vejledning eller endelig bare handlingsprogram. I dette tilfælde er det en beskrivelse af algoritmen ved hjælp af , hvis konstruktioner computeren kan behandle. Eller er det simpelthen processen med at skrive teksten til et computerprogram. I denne fortolkning er programmering synonymt med kodningsproces. Hvorfor talte jeg om fortolkninger? Faktum er, at softwareudviklere er meget passionerede omkring det, de laver, og kan være ekstremt utilfredse, når deres arbejde reduceres til blot processen med kodning i et bestemt programmeringssprog. I sig selv er ikke kun kodning, men også den foreløbige designfase, såvel som efterfølgende faser og vedligeholdelse. Med programmering mener de ofte processen med at skabe et computerprogram som helhed, herunder udvikling af en algoritme, og kodning er oversættelsen af ​​en allerede udviklet algoritme til et sprog, der er forståeligt. kodningsobjekt(hvilket betyder en computer eller enhver anden enhed, der fungerer i henhold til et program specificeret af nogen).

Så algoritmen for ethvert problem, beskrevet i enhver algoritmisk sprog(proceduremæssigt programmeringssprog), til en første tilnærmelse vises som en sekvens af instruktioner eller operatører. En operator kan være enkel eller sammensat. Enkel operatør- det her er atomare programmeringssprogsenhed. Simple operatorer omfatter (definering af navn og type af en variabel), (tildeling af en værdi til en variabel), input- og output-operationer osv.

Variabel (i programmering) er et navngivet område af RAM beregnet til midlertidig lagring af en del af data, der behandles af et computerprogram. En variabel er karakteriseret ved størrelsen af ​​den hukommelse, den optager, og dens type, som bestemmer, hvordan denne hukommelse fortolkes af computeren. Typen af ​​en variabel kan være enkel eller kompleks (kompleks). Simple typer omfatter numeriske, tegn og logiske typer. En kompleks type er en samling af simple og/eller andre sammensatte typer.

Sammensatte udsagn bruges til at organisere andre udsagn i en sekvens og kontrollere strømmen af ​​programudførelse. Sammensatte operatorer omfatter (gentagelse af en sekvens af operatorer) osv. og er ikke selv operatører. De kan være argumenter til variable værdier eller kriterier for udførelse af loops og betingede sætninger. En del af matematiske og logiske udtryk kan være .

Subtotaler: Det enkleste computerprogram er en sekvens af operatorer (programinstruktioner), hvoraf nogle ændrer variabler, mens andre styrer programmets udførelse (loops, betingede sætninger), baseret på betingelser specificeret af logiske og aritmetiske udtryk.

Hvis noget af dette rejser spørgsmål, så foreslår jeg, at du følger et af linkene ovenfor og gør dig bekendt med konstruktionerne af det proceduremæssige programmeringssprog, jeg beskrev mere detaljeret.

Tidligere blev algoritmer, før de blev implementeret i , præsenteret i formen . I dag, forekommer det mig, bruges klassiske flowcharts ret sjældent (i skoler eller i forskellige kurser om grundlæggende programmering). Også flowcharts bruges til at beskrive forretningsprocesser sammen med diagrammer, men dette gælder allerede for faserne af makrodesign. I min praksis bruger jeg meget sjældent nogen mellemform for at beskrive algoritmer, men hvis et sådant behov opstår, gør jeg det vha. pseudokode. Pseudokode- Det her pseudo programmeringssprog, som der ikke er standarder for syntaks for. Pseudokode er blottet for detaljer, der er ubetydelige for at forstå essensen af ​​algoritmen, uden hvilken det er umuligt at skrive programmer på rigtige programmeringssprog. Den eneste ene formålet med pseudokode er at formalisere beskrivelsen af ​​algoritmen. Problemer, hvis løsninger er beskrevet i pseudokode, overføres meget let til et hvilket som helst programmeringssprog, da pseudokode er et programmeringssprog med den eneste forskel, at der ikke er nogen compiler til det, og den eneste fortolker til det er den menneskelige hjerne. Jeg vil fortælle dig, hvad en compiler og tolk er i slutningen af ​​dette materiale.

Eksempler på algoritmer i pseudokode og i form af flowcharts

Her er et eksempel på en beskrivelse af algoritmen til problemet med at dividere et tal med et andet, udført i pseudokode:

A: HELTALSTYPE INPUT(A) B: HELTALSTYPE INPUT(B) HVIS B=0 SÅ OUTPUT(“FEJL: DIVISION MED 0!”) OUTPUT SLUT HVIS C: RIGTIG TYPE C = A/B OUTPUT(C)

Integreret udviklingsmiljø (IDE) – et sæt softwareværktøjer, der tilbyder brugeren værktøjer til at skrive programkode, søge efter og fremhæve syntaksfejl i den og køre applikationen i fejlretningstilstand. Det integrerede udviklingsmiljø inkluderer en compiler, linker, debugger, profiler og andre komponenter. Det mest populære miljø til udvikling af softwareprodukter i programmeringssprogene C#, VB.NET og C++ er, og til uddannelsesformål foreslår jeg at bruge følgende.

Debugger – et IDE-værktøj, der giver dig mulighed for at udføre et program trin for trin og spore værdierne af variabler ved hvert trin defineret af brudpunkter eller brudpunkter.

Profiler – et IDE-værktøj, der bruges til at optimere programkoden med hensyn til dens udførelseshastighed og mængden af ​​RAM, den optager. Ved hjælp af en profiler kan du indsamle statistik over, hvilken del af koden, der udføres oftest, og hvor meget tid og ressourcer computeren bruger på sin eksekvering. Baseret på disse statistikker kan du identificere flaskehalsene i dit program og rette dine bestræbelser på at optimere dem.

Programmeringssprog – et formelt sprog repræsenteret af et sæt instruktioner (operatører), ved hjælp af hvilke computerprogrammer er skrevet i overensstemmelse med en bestemt syntaks. Med andre ord er et programmeringssprog hovedværktøjet til at implementere en algoritme til en specifik opgave på en computer.

Maskinkode - et system af kommandoer, som computerprocessoren forstår "uden oversættelse."

Programmeringssprog på højt og lavt niveau – klassificering af programmeringssprog i henhold til graden af ​​lethed ved at bruge dem af mennesker til at løse anvendte problemer (højniveausprog) eller i henhold til graden af ​​deres nærhed til maskinkode (lavniveausprog).

Kompiler – en applikation, der beskæftiger sig med kompileringsprocessen - oversættelse af et program (oversættelse af programkode) skrevet på et højt niveau programmeringssprog til et lavniveau sprog eller til maskinkode. At kompilere til et sprog på lavt niveau betyder oftest at oversætte et program til assemblersprog for at finjustere individuelle flaskehalse, før det endelig oversættes til maskinkode. Et eksempel på et program i assembler kan ses.

Objektmodul – en fil, der indeholder resultatet af compilerens arbejde, nemlig selve maskinkoden med links til andre objektmoduler, hvis programmet er komplekst og består af mange komponenter.

Linker – et program, der går ind i processen med at oprette et eksekverbart modul efter compileren. Hvis resultatet af kompileringen er flere objektmoduler, så finder linkeren dem alle og bygger et eksekverbart modul ud fra dem.

Eksekverbart modul – en fil, der indeholder programmet nøjagtigt i den form, som bootloaderen af ​​et specifikt operativsystem kan behandle. Oftest er disse filer med filtypenavnet exe eller dll.

Loader - en del af operativsystemet, der opretter et separat til programmet, indlæser dataene fra den eksekverbare fil i RAM (i RAM-området, der er allokeret til processen), initialiserer processorregistrene og starter processen. Fra dette øjeblik begynder programmet at køre.

Tolk – et program, der udfører programkode trin for trin, og oversætter til maskinkode kun den del af det, der skal udføres på et bestemt tidspunkt. Tolken behandler programmet linje for linje. Forskellen mellem en compiler og en fortolker er, at compileren oversætter hele programmet til maskinkode på én gang, skaber et eller flere objektmoduler, og fortolkeren, der kun har oversat det fragment af programmet, den har brug for, udfører straks dette fragment. Nogle tolke er således en compiler, linker og loader rullet til én. Et eksempel på en tolk er en behandlingsenhed i en internetbrowser.

Lad mig afslutte med teorien og gå videre til praksis. Jeg starter med det her.