Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

  • 2 Wochen später...

Hi erst mal für meinen Geschmack ein wenig viel platz über all. Da könntest du noch ein paar Zeilen bestimmt einsparen. 

Ich würde fast behaupten du brauchst in deiner MindReader intern kein Jquery. Da würde das ganze noch ein wenig schneller machen und dein Script unabhängiger. 

Viele Grüße,

Julian-B90

  • Autor

Hi, erstmal danke fürs Anschauen und dein Feedback!

Was meinst du mit "ein wenig viel Platz über all"? Was genau könnte ich einsparen?

Das stimmt, ich habe jQuery auch mehr zu Testzwecken eingebaut und um eine bessere Browser-Kompatibiltät auf eine recht schnelle Weise zu erreichen. Ich habe aber schon lange nicht mehr am Skript gearbeitet, so dass es im Internet Explorer immer noch nicht (vernünftig) dargestellt wird. Ich bin da ja auch nicht festgelegt, was von "beiden" ich benutze. Du siehst ja, dass jQuery nur rudimentär im Code auftaucht. Der wesentliche Teil ist pures JavaScript. Oder was genau meinst du mit unabhängig? Das Ganze geht natürlich auch ohne jQuery. Dass die Performance ohne jQuery gerade bei größeren Projekten deutlich besser ist habe ich auch schon gelesen und war als Neuling, dem jQuery sehr ans Herz gelegt wurde, sehr überrascht.

VG

Marcus

Hi, erstmal danke fürs Anschauen und dein Feedback!
Was meinst du mit "ein wenig viel Platz über all"? Was genau könnte ich einsparen?
Das stimmt, ich habe jQuery auch mehr zu Testzwecken eingebaut und um eine bessere Browser-Kompatibiltät auf eine recht schnelle Weise zu erreichen. Ich habe aber schon lange nicht mehr am Skript gearbeitet, so dass es im Internet Explorer immer noch nicht (vernünftig) dargestellt wird. Ich bin da ja auch nicht festgelegt, was von "beiden" ich benutze. Du siehst ja, dass jQuery nur rudimentär im Code auftaucht. Der wesentliche Teil ist pures JavaScript. Oder was genau meinst du mit unabhängig? Das Ganze geht natürlich auch ohne jQuery. Dass die Performance ohne jQuery gerade bei größeren Projekten deutlich besser ist habe ich auch schon gelesen und war als Neuling, dem jQuery sehr ans Herz gelegt wurde, sehr überrascht.
VG
Marcus
JQuery ist nicht schlecht, solange man die Funktionalität gut ausnutzen kann.

Ich würde die Cards vllt in einen Array oder Hashmap packen.
Dann sparst du dir die Variablen wie "NUMBERS_CARD_1" oder getNumbersCard1 funktionen.

Kannst dann trotzdem über getNumbersCard(1) den Aufruf machen dann gibt es den 1 Index vom Array zurück oder benutzt ihn direkt.

Auch initialisierst du viele "const" zwischen den Funktionen.
Welche ich lieber an einer Stelle Zentral machen würde, verbessert die Lesbarkeit.

Ansonsten sehe gerade nix auf meinem Smartphone, da unterwegs bin ;)
  • 1 Monat später...
  • 2 Wochen später...

Moin,

mir gefällt die Codeformatierung nicht, die Leerzeilen um die einzeiligen Anweisungsblöcke herum lenken mich ab.

☉ ‿ ⚆

textArea1 und textArea2 sind ungünstige Namen, ich hab da jetzt tatsächlich nach dem dem HTML-Element gesucht. Im JS werden für die Texte dieser Areas die Begriffe "intro" und "outro" genutzt, das passt auch besser.

Am 3.10.2018 um 18:33 schrieb dekmar:

Ich würde die Cards vllt in einen Array oder Hashmap packen.
Dann sparst du dir die Variablen wie "NUMBERS_CARD_1" oder getNumbersCard1 funktionen.

this

Moin,
mir gefällt die Codeformatierung nicht, die Leerzeilen um die einzeiligen Anweisungsblöcke herum lenken mich ab.
☉ ‿ ⚆
textArea1 und textArea2 sind ungünstige Namen, ich hab da jetzt tatsächlich nach dem dem HTML-Element gesucht. Im JS werden für die Texte dieser Areas die Begriffe "intro" und "outro" genutzt, das passt auch besser.
this
Was genau meinst du?^^
Spoiler


const NUMBERS_CARD_1 = [

        '01', '03', '05', '07', '09', '11', '13', '15', '17', '19', '21', '23', '25', '27',
        '29', '31', '33', '35', '37', '39', '41', '43', '45', '47', '49', '51', '53', '55',
        '57', '59', '61', '63'

    ];

function getNumbersCard1() {

    return NUMBERS_CARD_1;

}

const CARD_1 = new MagicCard('card1', getNumbersCard1());

function getCard1() {

    return CARD_1;

}

const CARD_1_TABLE = getCard1()
    .cardNumberTable;

function getTableCard1() {

    return CARD_1_TABLE;

}

const NUMBERS_CARD_2 = [

        '02', '03', '06', '07', '10', '11', '14', '15', '18', '19', '22', '23', '26', '27',
        '30', '31', '34', '35', '38', '39', '42', '43', '46', '47', '50', '51', '54', '55',
        '58', '59', '62', '63'

    ];

function getNumbersCard2() {

    return NUMBERS_CARD_2;

}

Das ist mir zu luftig (hier im Forum ist's ok, dank der Schriftgröße). Diese Mischung von Konstanten und Funktionen finde ich sehr schwierig lesbar und durch die vielen zusätzlichen Leerzeilen innerhalb der Funktionen ist der Kontrast zwischen Konstanten- und Funktionen-Definition sehr gering.


function getNumbersCard1() {

    return NUMBERS_CARD_1;

}

const CARD_1 = new MagicCard('card1', getNumbersCard1());

function getCard1() {

    return CARD_1;

}

Hm naja. Beim vierten Blick, da ist halt doch einiges an dupliziertem Code drin. 

Wenn ich genauer nachsehe, scheinen die getCard- und getNumbersCard-Funktionen eigentlich nicht gebraucht, die Konsumenten könnten auch direkt auf die jeweiligen Konstanten zugreifen. 

Hab ich jetzt gewaltig was verpennt oder fliegen da Funktionen wie runGame(), die eindeutig nicht ans globale Objekt gehören, genau in diesem herum? :huh:

Wenn du das auf GitHub veröffentlichst bietet sich an eine README.md-Datei mit in das Verzeichnis zu legen und dort - reicht ja in zwei drei Zeilen - zu beschreiben worum es in dem Repository eigentlich geht. Da kannst du wahrscheinlich den @description-Text nehmen (zumindest als Ausgangspunkt).

Bearbeitet von monolith

  • 3 Wochen später...

So unter uns Web-Entwicklern: Ich unterstütze den IE nicht mehr!. Das was geht wird über einen transpiler (z.B. babel) automatisch kompatibel gemacht. Was der IE nicht kann, kann er eben nicht. Wenn das Auto kein Standardbenzin abkann, dann ist ja nicht die Tankstelle schuld....

  • 2 Wochen später...

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.