Skip to content

Instantly share code, notes, and snippets.

View FagnerMartinsBrack's full-sized avatar
🎯
Focusing

Fagner Brack FagnerMartinsBrack

🎯
Focusing
View GitHub Profile
@FagnerMartinsBrack
FagnerMartinsBrack / PromisesWithSyncCode.js
Last active March 27, 2016 07:34
(Medium) Promises + Sync Code = Disaster - Promises With Sync Code
const fetchSoccerResults = fetchSoccerResultsFromResource( ... );
const loadSoccerMatchesToVariable = function( _soccerMatches ) {
soccerMatches = _soccerMatches;
};
const loadSoccerResultsToVariable = function( _soccerResults ) {
soccerResults = _soccerResults;
}
const mapDetailedMatches = function(){
return soccerMatches.map(function( match ) {
@FagnerMartinsBrack
FagnerMartinsBrack / CodeIsNotSelfDocumented.js
Created March 27, 2016 07:36
(Medium) Promises + Sync Code = Disaster - Code is Not Self Documented
...
fetchSoccerMatchesFromResource( ... );
.then( addToCache )
.then( filterMatchesFrom( 'Germany' ) )
})
.catch( printError );
...
@FagnerMartinsBrack
FagnerMartinsBrack / LegitSyncUsage.js
Created March 27, 2016 07:39
(Medium) Promises + Sync Code = Disaster - Legit Sync Usage
...
fetchSoccerMatchFromResource()
.then(function( match ) {
if ( cachedDetails[ match.id ] ) {
// Returns the resolved data
return cachedDetails[ match.id ];
}
// Returns a Promise
return fetchMatchDetails( match.id );
@FagnerMartinsBrack
FagnerMartinsBrack / CorrectUsageSyncAsync.js
Created March 27, 2016 07:42
(Medium) Promises + Sync Code = Disaster - Correct Usage of Sync and Async
const mapDetailedMatches = function( soccerMatches, soccerResults ){
return soccerMatches.map(function( match ) {
return {
name: match.name,
score: findScoreForMatch( match, soccerResults )
};
});
};
const printDetailedMatchesToScreen = function( detailedMatches ) {
detailedMatches.forEach(function( detailedMatch ) {
@FagnerMartinsBrack
FagnerMartinsBrack / RequireStatementAlignment.js
Created April 5, 2016 13:05
(Medium) Why Aligning Statements Will Haunt You - Require Statement Alignment
const _ = require('lodash');
const moment = require('moment');
@FagnerMartinsBrack
FagnerMartinsBrack / BrokenRequireStatementAlignment.js
Created April 5, 2016 13:06
(Medium) Why Aligning Statements Will Haunt You - Broken Require Statement Alignment
const _ = require('lodash');
const moment = require('moment');
const readableStream = require('readable-stream');
@FagnerMartinsBrack
FagnerMartinsBrack / DiffForBrokenRequireStatementAlignment.diff
Last active April 5, 2016 13:09
(Medium) Why Aligning Statements Will Haunt You - Diff For Broken Require Statement Alignment
const _ = require('lodash');
const moment = require('moment');
+ const readableStream = require('readable-stream');
@FagnerMartinsBrack
FagnerMartinsBrack / DiffForFixedBrokenRequireStatementAlignment.diff
Created April 5, 2016 13:10
(Medium) Why Aligning Statements Will Haunt You - Diff For Fixed Broken Require Statement Alignment
- const _ = require('lodash');
- const moment = require('moment');
+ const _ = require('lodash');
+ const moment = require('moment');
+ const readableStream = require('readable-stream');
@FagnerMartinsBrack
FagnerMartinsBrack / PropertiesAlignment.js
Last active April 5, 2016 13:23
(Medium) Why Aligning Statements Will Haunt You - Properties Alignment
const user = {
age : 25,
name : 'John',
surname : 'Doe',
};
@FagnerMartinsBrack
FagnerMartinsBrack / FirstExample.js
Created April 23, 2016 13:08
(Medium) Why Small Modules Matter - First Example
const promisify = require("bluebird").promisify;
const readFile = promisify(require("fs").readFile);
const writeFile = promisify(require("fs").writeFile);
const flattenArray = require("flatten-array");
module.exports = function flattenArrayInsideFile(fileName) {
return readFile(fileName, "UTF-8")
.then(function(fileContent) {
const array = JSON.parse(fileContent);
const flattenedArray = flattenArray(array);