2012-02-03 8 views
7

"WARNING - Codice sospetto. Il risultato dell'operatore 'getprop' non viene utilizzato."Cosa significa "ATTENZIONE - Codice sospetto. Il risultato dell'operatore 'getprop' non viene utilizzato." significare?

Sto vedendo questo per due righe nel mio codice JavaScript quando uso il compilatore di chiusura. Sono typedef tra altri typedef che non riportano problemi. Cosa dovrei cercare?

EDIT

codice interessato:

/** 
* @typedef {{playerId: number, playerName: string, baseScores: Array.<number>, bonusScores: Array.<number>, 
*   teamScoreAdjustments: Array.<number>}} 
*/ 
wias.GameTableTeamMember; 

/** 
* @typedef {{id: number, teamMembers: Array<wias.GameTableTeamMember>, teamName: string}} 
*/ 
wias.GameTableTeam; 

/** 
* @typedef {{id: number, availableRound: boolean, bonusScoring: boolean, complete: boolean, gameLength: number, 
*   gameType: string, lastPlayed: string, numberOfRounds: number, teams: Array.<wias.GameTableTeam>, winners: 
*   Array.<string>}} 
*/ 
wias.GameTable; 

Attenzione:

wias.js:77: WARNING - Suspicious code. The result of the 'getprop' operator is not being used. 
wias.GameTableTeam; 
^ 

Perché un avvertimento lì e non altrove?

+0

Non sono sicuro di quello che i mezzi di avvertimento, ma sono curioso per vedere il codice reale di cui sta parlando ... – nnnnnn

risposta

6

Significa che si dispone di un codice che non fa nulla.

I tipi (o i tipi di record) di Typedef sono più complicati per il compilatore che punta al punto esatto in cui si trova il problema, ma da qualche parte si ottiene un valore che non viene utilizzato.

qualche lettura sul sistema tipo e ciò che funziona meglio con il compilatore https://docs.google.com/document/d/1Uq_vNyPZjlRvYZJclX6N37Fjsiah4XNciEPSBfFiREs/edit

e per ricreare l'avviso semplicemente

if (true) { 
    //have nothing in here 
} 
+0

Grazie per questo link e la risposta. Ancora confuso sul motivo per cui quella particolare riga di codice viene individuata. Tutte le dichiarazioni typedef appaiono come no-op nel compilatore di chiusura, eppure solo una è selezionata qui. –

+0

Penso che sia perché ha difficoltà a rintracciare typedef in relazione alle classi e anche i typedef sono trattati in modo più approssimativo. Cambiando un typedef in una classe sono riuscito a rintracciare alcuni avvertimenti con maggiore chiarezza. – lennel

+0

mi sono appena svegliato. getProp è un modo di chiusura per dire il getter interno. Quindi quello che sta dicendo è che wias.GameTableTeam; non è mai usato nella tua app. – lennel

Problemi correlati