Wie kann man Javacode von dem Compilern ausschließen?

  • Antworten:23
  • Bentwortet
Superbit
  • Forum-Beiträge: 111

08.03.2014, 19:45:15 via App

Wie kann ich im Quellcode einen Teil vom Compilern ausschließen?

Nichts ist unmöglich außer die Unmöglichkeit

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

08.03.2014, 20:52:54 via App

Willst du, das der Compiler den Code einfach ignoriert, oder willst du verschiedene Szenaren (zb. Debugmodus ) etc. machen.

— geändert am 08.03.2014, 21:05:26

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Michele
  • Forum-Beiträge: 1.525

08.03.2014, 21:01:12 via Website

Hallo.

Mit "//" vor dem Code:
1//


LG

— geändert am 08.03.2014, 21:01:26

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

08.03.2014, 21:03:00 via Website

@Michele: Hast du meine Antwort bearbeitet?
Wenn ja Danke :)
PS: Kein Problem ^^

— geändert am 08.03.2014, 21:03:48

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Michele
  • Forum-Beiträge: 1.525

08.03.2014, 21:03:58 via Website

Habe dir eine Nachricht geschrieben.

Das du sie wieder zu deiner ändern sollst.
Hatte mich verklickt =).

Sorry nochmal.


LG

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.640

08.03.2014, 21:04:55 via App

2 neue mods an einem tag?

Ich sammle gerne Namen in meinem Death Note.

Samsung Galaxy Note 2<3 -> Samsung Galaxy Note 3 <3

Antworten
Michele
  • Forum-Beiträge: 1.525

08.03.2014, 21:07:14 via Website

Alex Wieser
2 neue mods an einem tag?

Ist das schlimm?
Darum geht es hier aber gerade nicht :D
Bitte beim Thema bleiben Alex :D


LG

— geändert am 08.03.2014, 21:10:09

impjor

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.640

08.03.2014, 21:09:30 via App

nein, ist mir nur aufgefallen.

Aber ja wie gesagt, mit // und alles in eine zeile :D

Ich sammle gerne Namen in meinem Death Note.

Samsung Galaxy Note 2<3 -> Samsung Galaxy Note 3 <3

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

08.03.2014, 21:13:57 via Website

Alles in einer Zeile ist auch blöd.
Für mehrere Zeilen "Kommentar" kann man auch das benutzen:
1/*
2Dein Kommentar
3*/

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.640

08.03.2014, 21:15:12 via App

muss man dan nicht vor jede zeile ein stern machen?

Ich sammle gerne Namen in meinem Death Note.

Samsung Galaxy Note 2<3 -> Samsung Galaxy Note 3 <3

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

08.03.2014, 21:17:48 via Website

Nein muss man nicht, dass ist nur dann so, wenn du so ein Kommentar vor einer Klasse oder Funktion schreibst und es später in die Javadoc mit aufgenommen werden soll.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Michele
  • Forum-Beiträge: 1.525

08.03.2014, 21:20:49 via Website

1/* <<< Auf
2*/ <<< Zu

Also alles was drin ist, ist nicht in gebrauch.


LG

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.640

08.03.2014, 21:23:44 via App

Danke, das wusste ich nicht :)

— geändert am 08.03.2014, 21:23:51

Ich sammle gerne Namen in meinem Death Note.

Samsung Galaxy Note 2<3 -> Samsung Galaxy Note 3 <3

Antworten
Superbit
  • Forum-Beiträge: 111

09.03.2014, 10:12:01 via App

Hi,
wenn es geht würde ich es gerne so machen das wenn ein bestimmter Schalter(zB. Debugschalter) auf true gesetzt ist bestimmte Codeteile ausgeschlossen werden. (so wie es Pascal P oben gesagt hat)
Geht das?

— geändert am 09.03.2014, 10:14:02

Nichts ist unmöglich außer die Unmöglichkeit

Antworten
Klaus T.
  • Forum-Beiträge: 8.183

09.03.2014, 10:37:46 via App

In Java gib es keine bedingte Compilierung oder einen Precompiler wie z. B. in c/c++, der sowas wie #ifdef kann.

if all else fails, read the instructions.

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

09.03.2014, 10:44:41 via Website

1public final static boolean SWITCH = false;
2
3public void yourMethod()
4{
5 if(SWITCH)
6 {
7 insertCodeThere
8 }
9
10 someCodeWhichAlwaysRuns();
11 ...
12}

Mit einer final variable geht es schon, der Compiler merkt ja das er insertCodeThere() nie aufrufen wird (Ausser evtl von anderer stelle), damit fliegt
das raus aus dem Compilat. Es gibt selten fälle wo sowas Sinn macht, hatte sowas füher oft für Log Meldungen benutzt um für Release sowas rauswerfen zu können, unter Android kann sowas aber auch Proguard für einen erledigen.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Superbit
  • Forum-Beiträge: 111

09.03.2014, 10:44:58 via App

Vielen Dank für die Hilfe

Nichts ist unmöglich außer die Unmöglichkeit

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

09.03.2014, 10:46:28 via App

Das mit dem Debug muss nich zwkngend eine bedingte compilierung sein. Du kannst auch eine GlGlobale debug variable (boolean) machen und an den entsprechenden stellen ne if hinsetzen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

09.03.2014, 10:50:29 via Website

Nun es gibt die Klasse BuildConfig, die man verwenden könnte, wird bei jedem Project generiert.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Superbit
  • Forum-Beiträge: 111

09.03.2014, 11:12:15 via App

Wenn man die if-Variante nutzt wird dann der Code ausgeschlossen oder nur nicht ausgeführt?

Nichts ist unmöglich außer die Unmöglichkeit

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

09.03.2014, 13:05:48 via Website

Ausgeschlossen, da der Compiler sieht das das niemals wahr werden kann. Anders wäre es wenn du die das boolean nicht final setzt!

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

impjor

Antworten
Superbit
  • Forum-Beiträge: 111

09.03.2014, 17:56:52 via App

Ihr hab mir sehr geholfen.
Danke

Nichts ist unmöglich außer die Unmöglichkeit

Antworten
Fabian Simon
  • Forum-Beiträge: 359

10.03.2014, 08:01:14 via Website

Hallo,
dann teil uns doch mit wie.
Damit in zukunft die Frage nicht nochmal beantwortet werden muss .

Mac Systems

Antworten
Superbit
  • Forum-Beiträge: 111

10.03.2014, 16:23:28 via App

Fabian Simon
Hallo,
dann teil uns doch mit wie.
Damit in zukunft die Frage nicht nochmal beantwortet werden muss .
So wie es Mac Systems gesagt hat.

Nichts ist unmöglich außer die Unmöglichkeit

Antworten