TDDC69 Objektorienterad prog. och Java
Utvecklingsmiljö för Java
Moderna utvecklingsmiljöer för Java
Det är ofta extremt smidigt att använda en integrerad utvecklingsmiljö (IDE). En del tycker säkert detta är onödigt trams: Källkoden är en vanlig textfil och "riktiga programmerare" använder texteditorer som Emacs eller Notepad++. Men moderna miljöer analyserar och indexerar automatiskt koden allteftersom den skrivs, vilket ger möjligheter långt utöver de "traditionella" funktionerna att hålla ordning på projektstrukturen, färglägga kod och starta kompilatorer. Att lära sig hur en sådan miljö fungerar kan spara mycket tid, eftersom den:
Omedelbart VISAR både syntaxfel och andra fel som skulle förhindra kompilering, så man kan rätta dem utan att behöva skriva, kompilera, hitta raden som första felet var på, fixa, skriva, kompilera, osv. ad nauseam.
Analyserar och indikerar möjliga problem i koden, från så generella fall som variabler och metoder som aldrig används, till så specifika fall som försök att använda index 0 i ett
ResultSet(vars lägsta index är 1). Detta ger en möjlighet att hitta problem som kompilatorn inte alls kan hitta. IntelliJ IDEA har till exempel över 600 inbyggda kodinspektioner där nästan alla automatiskt i realtid.Ger många navigerings- och analysmöjligheter: Hoppa med en enkel knapptryckning till definitionen av en metod, visa vem som anropar den här metoden, visa dataflöde till eller från en specifik variabel, och så vidare.
Ger möjlighet till refactoring, dvs. utvecklingsmiljön hjälper till och tar hand om många tråkiga uppgifter när du vill omstrukturera din kod. Detta sparar mycket tid för själva omstruktureringen, vilket i sin tur gör att man faktiskt gör omstruktureringen istället för att skjuta upp den i oändlighet, och tjänar ännu mer tid i det långa loppet eftersom koden blir mer lättläst och lätthanterlig.
Om du döper om en metod byts också namnet på alla dess anropspunkter och alla överlagrade varianter av metoden – utan att orelaterade metoder eller variabler som råkar ha samma namn döps om, något som sök-och-ersätt inte kan hantera och som kan vara otroligt trist att göra för hand.
Välj en del av en lång metod och extrahera automatiskt en ny metod som innehåller den markerade delen, med automatiskt härledda parametrar och returvärden och en garanti att den nya koden fungerar på samma sätt som förut.
...
Ger tillgång till en integrerad debugger där man t.ex. kan sätta brytpunkter (stanna här och visa alla variabelvärden varje gång programmet kommer hit).
Ger integrerad tillgång till versionshantering
Och så vidare...
IntelliJ IDEA
Som utvecklingsmiljö för Java rekommenderar vi IntelliJ IDEA. Andra miljöer (eller rena texteditorer) är också tillåtna, utom i introduktionslabben, men:
- Hjälp kan ta längre tid om ni använder en miljö som saknar goda navigeringsmöjligheter eller som labbhandledaren inte är van vid. I vissa fall kan ni kan behöva ta in projektet i IDEA för att få hjälp. Projekt ska kunna migreras automatiskt från t.ex. Eclipse 3.x till IDEA, men vi lämnar inga garantier för att det ska fungera.
- Labbar måste lämnas in i IDEA-format.
- Vi kan komma att kräva ändringar som är enkla i en miljö med stöd för refactoring, men krångliga i en ren texteditor.
IntelliJ IDEA hemma
IDEA finns tillgänglig i en open source-version, "Community Edition". Den saknar stöd för många webrelaterade språk (JavaScript, CSS, ActionScript, PHP, ...) och saknar även databasverktyg, men har fullständigt stöd för Java. Ladda gärna ner den om du vill arbeta på egen dator.
Hjälp och dokumentation för IntelliJ IDEA
En hel onlinehjälp finns tillgänglig. Bland de mest relevanta avsnitten finns:
- Getting Started with IntelliJ IDEA
- Guided Tour around the IntelliJ IDEA User Interface
- IntelliJ IDEA Tool Windows
- IntelliJ IDEA Editor
- Basic Concepts, som förklarar projekt, SDK, modul, och så vidare.
- IntelliJ IDEA Usage Guidelines, med hjälp för inställningar, att skapa och hantera projekt och moduler, kodgenerering, autocompletion, inspektioner, att köra och debugga program, och så vidare – alla de större funktionerna i miljön.
- Navigating through the Source Code, något en utvecklingsmiljö verkligen kan hjälpa till med!
- Keyboard Shortcuts you Cannot Miss, för den som vill bli mer effektiv och använda tangentbordet
- FAQ för Eclipse-användare
Dessutom finns ett antal tutorials som tar dig steg för steg genom grundläggande programmering i IDEA:
- Running IDEA for the first time
- Setting up a project in IntelliJ IDEA
- Creating and running your first Java application
Slutligen finns också JetBrains TV, med över 100 screencasts som visar med video hur specifika saker kan göras i IDEA.
Att starta IDEA i Sun-PUL
För att starta IDEA i Sun-PUL:
> ~TDDC69/idea/bin/idea.sh
IDEA använder en hel del diskutrymme för filer under ~/.IntelliJIdea. Du kommer att få motsvarande quota under kursperioden. De flesta av dessa filer ligger under ~/.IntelliJIdea/nobackup/system och är helt automatgenererade. Dessa filer kan du radera när du vill (IDEA kommer då att indexera om filer osv. vid nästa uppstart, vilket tar lite tid).
Information om hur du konfigurerar IDEA på korrekt sätt för denna kurs kommer att ges i första labben.
Sidansvarig: Jonas Kvarnström
Senast uppdaterad: 2012-08-29
