Prefácio
Oi. Sou um seguidor da programação funcional e gosto da simplicidade e legibilidade do código. Cada vez que escrevo qualquer parte do aplicativo, imagino que estou criando algo. Essa coisa deve ter certos detalhes e eles devem estar nos lugares certos. Portanto, todas essas coisas são semelhantes entre si e formam uma grande aplicação.
Eu sou um desenvolvedor JavaScript. Acho que é uma ótima linguagem com características expressivas. Alguém disse que a linguagem não é suficiente para os elementos do OOP, então JS não pode ser levado a sério. Tenho certeza de que JS tem uma das melhores implementações de programação funcional.
Modelo
Com base em minha experiência, criei meu próprio modelo para organizar o código em cada arquivo.
(function(){
'use strict';
// variables declaration and initialization
// functions declaration
// another variables initialization
// global events subscribing
// global API declaration
})();
Este é um módulo de amostra para monitorar qualquer informação e armazenar esta informação em localStorage
(function(){
'use strict';
// variables declaration and initialization
var data = localStorage.hasOwnProperty('data') ? JSON.parse(localStorage.data) : {},
startTime;
// functions declaration
function updateField(key, value){
if(!data.hasOwnProperty(key)){
data[key] = 0;
}
data[key] += value;
}
function saveData(){
localStorage.data = JSON.stringify(data);
}
// another variables initialization
if(data.hasOwnProperty('timer')){
updateField('visit', 1);
}
// global events subscribing
document.addEventListener('customeventstart', function(event){
startTime = event.timeStamp;
});
document.addEventListener('customeventend', function(event){
updateField('timer', event.timeStamp - startTime);
});
document.addEventListener('anotherevent', saveData);
// global API declaration
window.monitor = {
save: saveData,
update: updateField
};
})();
Espero que este modelo seja útil para alguém.