Come denominare un metodo privato in una lingua che non supporta la privacy?

6

Qual è lo standard di codifica per nominare un metodo privato in una lingua che non ha il modificatore privato? Nello specifico, sto parlando di Javascript. Di seguito ho inserito un trattino basso alla fine del nome del mio metodo privato, ma un collega mi ha detto che il carattere di sottolineatura di solito è per i campi di classe.

var MyClass = Class.create({
    initialize: function() {
        alert('constructor');
    },
    publicMethod: function() {
        alert('i am public');
    },
    privateMethod_: function() {
        alert('i am private');
    }
});
    
posta JoJo 26.01.2012 - 01:40
fonte

2 risposte

2

Come tutti ti hanno detto in un commento, la maggior parte delle persone (e alcune lingue) usa un singolo trattino basso.

    
risposta data 26.01.2012 - 02:12
fonte
3

EDIT : in base al commento riportato di seguito da @Raynor, l'approccio seguente non è un buon modo per ottenere la privacy in JavaScript. Vedere: link

Uso questa convenzione:

var MyObject = (function() {
  var initFunction = function() { /* init some stuff */ };
  var privateFunction = function() { /* state secrets */ };

  return {
    init: initFunction
  };
})();

Vengono restituite solo le funzioni pubbliche. Come puoi immaginare, anche io tendo ad usare solo metodi quando uso questo stile, senza proprietà pubbliche.

    
risposta data 26.01.2012 - 02:19
fonte

Leggi altre domande sui tag