JavaScript Clean Code 🛠
Functions should do one thing 💡
Bad :
Good :
➖➖➖➖➖➖
#JSTips #CleanCode
@ProgrammingTip
Functions should do one thing 💡
Bad :
function emailClients(clients) {
clients.forEach((client) => {
const clientRecord = database.lookup(client);
if (clientRecord.isActive()) {
email(client);
}
});
}Good :
function emailActiveClients(clients) {
clients
.filter(isActiveClient)
.forEach(email);
}
function isActiveClient(client) {
const clientRecord = database.lookup(client);
return clientRecord.isActive();
}➖➖➖➖➖➖
#JSTips #CleanCode
@ProgrammingTip
📦 Macro To Get Array Size Of Any Data Type In C 📦
The following macro will help you in getting the size of an array of any data type. It works by dividing the length of the array to the size of its field. 💡
Code:
Output:
#c #cpp #array
@ProgrammingTip
The following macro will help you in getting the size of an array of any data type. It works by dividing the length of the array to the size of its field. 💡
Code:
#define num(x) (sizeof (x) / sizeof (*x))
int _tmain() {
int numbers[10] =
{1,1,1,1,1,1};
char *chars[20] =
{"","","","","","","","",""};
printf("Size of numbers[10] is %d\n",
num(numbers));
printf("Size of chars[20] is %d\n",
num(chars));
}
Output:
Size of numbers[10] is 10
Size of chars[20] is 20
Press any key to continue . . .
#c #cpp #array
@ProgrammingTip
JavaScript Clean Code 🛠
Don't use flags as function parameters 💡
Bad :
Good :
➖➖➖➖➖➖
#JSTips #CleanCode
@ProgrammingTip
Don't use flags as function parameters 💡
Bad :
function createFile(name, temp) {
if (temp) {
fs.create(`./temp/${name}`);
} else {
fs.create(name);
}
}Good :
function createFile(name) {
fs.create(name);
}
function createTempFile(name) {
createFile(`./temp/${name}`);
}➖➖➖➖➖➖
#JSTips #CleanCode
@ProgrammingTip
Axios 👾
Promise based HTTP client for the browser and node.js .
Features :
🔸Make XMLHttpRequests from the browser
🔹Make http requests from node.js
🔸Supports the Promise API
🔹Intercept request and response
🔸Transform request and response data
🔹Cancel requests
🔸Automatic transforms for JSON data
🔹Client side support for protecting against XSRF
https://github.com/mzabriskie/axios
Use it instead of old AJAX, it's very simple & handy 🔥
#JavaScript #Ajax
@ProgrammingTip
Promise based HTTP client for the browser and node.js .
Features :
🔸Make XMLHttpRequests from the browser
🔹Make http requests from node.js
🔸Supports the Promise API
🔹Intercept request and response
🔸Transform request and response data
🔹Cancel requests
🔸Automatic transforms for JSON data
🔹Client side support for protecting against XSRF
https://github.com/mzabriskie/axios
Use it instead of old AJAX, it's very simple & handy 🔥
#JavaScript #Ajax
@ProgrammingTip
GitHub
GitHub - axios/axios: Promise based HTTP client for the browser and node.js
Promise based HTTP client for the browser and node.js - axios/axios
Online VS Code IDE for Angular & React & Ionic 💎
Features :
🔸Intellisense, Project Search, Go to Definitions.
🔹Hot reloading as you type.
🔸Import NPM packages into your project.
🔹Keep editing while offline
🔸Hosted app URL where you can see (or share) your live application at any time.
https://stackblitz.com/
Try it, it's awesome 😍
#Angular #React #Ionic
@ProgrammingTip
Features :
🔸Intellisense, Project Search, Go to Definitions.
🔹Hot reloading as you type.
🔸Import NPM packages into your project.
🔹Keep editing while offline
🔸Hosted app URL where you can see (or share) your live application at any time.
https://stackblitz.com/
Try it, it's awesome 😍
#Angular #React #Ionic
@ProgrammingTip
JavaScript Clean Code 🛠
Avoid negative conditionals 💡
Bad :
Good :
➖➖➖➖➖➖
#JSTips #CleanCode
@ProgrammingTip
Avoid negative conditionals 💡
Bad :
function isDOMNodeNotPresent(node) {
// ...
}
if (!isDOMNodeNotPresent(node)) {
// ...
}Good :
function isDOMNodePresent(node) {
// ...
}
if (isDOMNodePresent(node)) {
// ...
}➖➖➖➖➖➖
#JSTips #CleanCode
@ProgrammingTip
Google Material GuideLines for Implementation UI 📖
The Material Design guidelines are a living document of visual, interactive, and motion guidance. 💎
https://material.io/guidelines/
#Android #Material
@ProgrammingTip
The Material Design guidelines are a living document of visual, interactive, and motion guidance. 💎
https://material.io/guidelines/
#Android #Material
@ProgrammingTip
Material Design
Build beautiful, usable products faster. Material Design is an adaptable system—backed by open-source code—that helps teams build high quality digital experiences.
Async & Await in JavaScript 🔥
Async/Await will make your code simpler even more than you think. ✅
Stop writing callback functions and love JavaScript ES7. 💎
https://blog.patricktriest.com/what-is-async-await-why-should-you-care/
#JavaScript #CleanCode
@ProgrammingTip
Async/Await will make your code simpler even more than you think. ✅
Stop writing callback functions and love JavaScript ES7. 💎
https://blog.patricktriest.com/what-is-async-await-why-should-you-care/
#JavaScript #CleanCode
@ProgrammingTip
Break | Better
Async/Await Will Make Your Code Simpler
Or How I Learned to Stop Writing Callback Functions and Love Javanoscript ES8.
Announcing .NET Core 2.0 🔥
.NET Core 2.0 is available today as a final release. 📦
You can start developing with it at the command line, in your favorite text editor, in Visual Studio 2017 15.3, Visual Studio Code or Visual Studio for Mac.
It is ready for production workloads, on your own hardware or your favorite cloud, like Microsoft Azure.
Microsoft also released ASP.NET Core 2.0 and Entity Framework Core 2.0 💎
https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-core-2-0/
Download SDK :
https://www.microsoft.com/net/download/core
〰〰〰〰〰〰
#DotNet #ASPNET #Core
@ProgrammingTip
.NET Core 2.0 is available today as a final release. 📦
You can start developing with it at the command line, in your favorite text editor, in Visual Studio 2017 15.3, Visual Studio Code or Visual Studio for Mac.
It is ready for production workloads, on your own hardware or your favorite cloud, like Microsoft Azure.
Microsoft also released ASP.NET Core 2.0 and Entity Framework Core 2.0 💎
https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-core-2-0/
Download SDK :
https://www.microsoft.com/net/download/core
〰〰〰〰〰〰
#DotNet #ASPNET #Core
@ProgrammingTip
.NET Blog
Announcing .NET Core 2.0 | .NET Blog
.NET Core 2.0 is available today as a final release. You can start developing with it at the command line, in your favorite text editor, in Visual Studio 2017 15.3, Visual Studio Code or Visual Studio for Mac. It is ready for production workloads,
📦 Grab The Stack Trace Of An Exception 📦
Checking your code for errors is one of the most Painstaking – and frustrating – parts of the development process. 🙆🏻♂️
It’s also horrendously Time-Consuming, particularly if you’ve a pesky error whose source isn’t immediately clear. 💡
Using this code, you can more easily track down where an Exception is occurring – and bring yourself that much closer to being rid of it. ✅
Code
#java #exception #error #trick
@ProgrammingTip
Checking your code for errors is one of the most Painstaking – and frustrating – parts of the development process. 🙆🏻♂️
It’s also horrendously Time-Consuming, particularly if you’ve a pesky error whose source isn’t immediately clear. 💡
Using this code, you can more easily track down where an Exception is occurring – and bring yourself that much closer to being rid of it. ✅
Code
Exception e = …;
java.io.StringWriter sw = new java.io.StringWriter();
e.printStackTrace(new java.io.PrintWriter(sw));
String trace = sw.getBuffer().toString();
#java #exception #error #trick
@ProgrammingTip
Use String.valueOf() instead of toString() 💎
If obj needs to be converted to string then the result of obj.toString() and String.valueOf(obj) will be same.
But String.valueOf() is Null Safe, means it will never throw NullPointerException. 🎯
〰〰〰〰〰〰
#java #string
@ProgrammingTip
If obj needs to be converted to string then the result of obj.toString() and String.valueOf(obj) will be same.
But String.valueOf() is Null Safe, means it will never throw NullPointerException. 🎯
Test test = null;
// Below statement will not throw NPE
System.out.println(String.valueOf(test));
// Next statement will throw NPE
System.out.println(test.toString())
〰〰〰〰〰〰
#java #string
@ProgrammingTip
JavaScript Clean Code 🛠
Use getters and setters 💡
Bad :
Good :
➖➖➖➖➖➖
#JSTips #CleanCode
@ProgrammingTip
Use getters and setters 💡
Bad :
function makeBankAccount() {
return {
balance: 0,
// ...
};
}
const account = makeBankAccount();
account.balance = 100;Good :
function makeBankAccount() {
let balance = 0;
function getBalance() {
return balance;
}
function setBalance(amount) {
balance = amount;
}
return {
getBalance,
setBalance,
};
}
const account = makeBankAccount();
account.setBalance(100);➖➖➖➖➖➖
#JSTips #CleanCode
@ProgrammingTip
Value Types in the Real World 🌍
Suppose you’re reading something fantastic, and you want a friend to read it too. 📜
What do you need to give your friend so that he can read it too❓
To give your friend a copy, you’d need to photocopy all the pages and then give it to him, At that point, he has his own complete copy of the document. 📃
In this situation, you’re dealing with value type behavior❗️
All the information is directly in your hands, you don’t need to go anywhere else to get it.
Your copy of the information is also independent of your friend’s after you’ve made the copy. 👥
You could add some notes to your pages, and his pages wouldn’t be changed at all.🙅🏻♂️
〰〰〰〰〰〰
#Types #ValueTypes
@ProgrammingTip
Suppose you’re reading something fantastic, and you want a friend to read it too. 📜
What do you need to give your friend so that he can read it too❓
To give your friend a copy, you’d need to photocopy all the pages and then give it to him, At that point, he has his own complete copy of the document. 📃
In this situation, you’re dealing with value type behavior❗️
All the information is directly in your hands, you don’t need to go anywhere else to get it.
Your copy of the information is also independent of your friend’s after you’ve made the copy. 👥
You could add some notes to your pages, and his pages wouldn’t be changed at all.🙅🏻♂️
〰〰〰〰〰〰
#Types #ValueTypes
@ProgrammingTip
Reference Types in the Real World 🌍
Compare that with the situation where you’re reading a web page. 🌐
This time, all you have to give your friend is the URL of the web page. ↗️
This is reference type behavior, with the URL taking the place of the reference. ↔️
In order to read the document, you have to navigate the reference by putting the URL in your browser and asking it to load the page. ☝🏻
If the web page changes for some reason, both you and your friend will see that change the next time each of you loads the page. 🙇🏻
〰〰〰〰〰〰
#Types #ReferenceTypes
@ProgrammingTip
Compare that with the situation where you’re reading a web page. 🌐
This time, all you have to give your friend is the URL of the web page. ↗️
This is reference type behavior, with the URL taking the place of the reference. ↔️
In order to read the document, you have to navigate the reference by putting the URL in your browser and asking it to load the page. ☝🏻
If the web page changes for some reason, both you and your friend will see that change the next time each of you loads the page. 🙇🏻
〰〰〰〰〰〰
#Types #ReferenceTypes
@ProgrammingTip
GraphQL 🔥
A query language for your API 💎
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.
GraphQL provides a complete and understandable denoscription of the data in your API,
gives clients the power to ask for exactly what they need and nothing more,
makes it easier to evolve APIs over time,
and enables powerful developer tools.
http://graphql.org/
https://scaphold.io/
〰〰〰〰〰〰
#GraphQL #API
@ProgrammingTip
A query language for your API 💎
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.
GraphQL provides a complete and understandable denoscription of the data in your API,
gives clients the power to ask for exactly what they need and nothing more,
makes it easier to evolve APIs over time,
and enables powerful developer tools.
http://graphql.org/
https://scaphold.io/
〰〰〰〰〰〰
#GraphQL #API
@ProgrammingTip
graphql.org
GraphQL | A query language for your API
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.
JavaScript Clean Code 🛠
Async/Await are even cleaner than Promises 💡
Bad :
Good :
➖➖➖➖➖➖
#JSTips #CleanCode
@ProgrammingTip
Async/Await are even cleaner than Promises 💡
Bad :
get('https://en.wikipedia.org/wiki/Robert_Cecil_Martin')
.then((response) => {
return writeFile('article.html', response);
})
.then(() => {
console.log('File written');
})
.catch((err) => {
console.error(err);
});Good :
async function getCleanCodeArticle() {
try {
const response = await get('https://en.wikipedia.org/wiki/Robert_Cecil_Martin');
await writeFile('article.html', response);
console.log('File written');
} catch(err) {
console.error(err);
}
}➖➖➖➖➖➖
#JSTips #CleanCode
@ProgrammingTip