JavaScript இல் தெளிவான code எழுதுவது எவ்வாறு?

உங்களுடைய சந்தேகங்கள் கேள்விகளை எங்களுடன் பகிர்ந்து கொள்ளுங்கள்

பதிவுசெய்க
JavaScript இல் தெளிவான code எழுதுவது எவ்வாறு?
kavitha pathmanathan | Developer & Writter

நாம் அனைவரும் செய்கின்ற ஒரு தவறு code எழுதும்போது அது வேலை செய்கிறதா இல்லையா என்பதை பற்றி  மட்டுமே கவனம் செலுத்துகிறோம். code  ஐ பற்றியும்  அது எவ்வாறு எழுதப்பட்டுள்ளது என்பது பற்றியும் கவலைப்படுவதில்லை.ஆனால் நாம் எழுதுகின்ற ஒவ்வொரு code ம் எதிர்கால தேவைக்காக எழுதப்படுகிறது அத்துடன் அந்த code ஐ இன்னொருவர் பயன்படுத்த நேரிடலாம். ஆகவே நீங்கள் எழுதுகின்ற code தெளிவானதாகவும் விளக்கமாகவும்  மற்றும் இலகுவாக மாற்றவோ அல்லது  விரிவுபடுத்தி கொள்ளக்கூடியதாக இருக்க வேண்டும்.

இந்த கட்டுரை  javascript இல் எவ்வாறு தெளிவான code எழுத பயிற்சி செய்வது என்பதை பார்க்கலாம் . ஆனால் இவற்றை நீங்கள் எந்த கணிப்பொறி செயல்பாடு மொழிக்கும் பயன்படுத்த முடியும்.  

1. நீங்கள் code இல் == குறியீட்டைப் பயன்படுத்துவதற்கு பதிலாக === குறியீட்டைப் பயன்படுத்துவது அதிக பலனை கொடுக்கும்.

0 == false // true
0 === false // false
2 == "2" // true
2 === "2" // false

// example
const value = "500";
if (value === 500) {
  console.log(value);
  // it will not be reached
}

if (value === "500") {
  console.log(value);
  // it will be reached
}

 

2.  verialble

உங்களுடைய veriable க்கு பெயர் கொடுக்கும் பொழுது அதன் பின்னால் உள்ள நோக்கத்தை வெளிப்படுத்தும் வகையில் பெயரிடுங்கள். இது   மற்றவர்  அதைப் பார்த்த பிறகு புரிந்துகொள்ள எளிதாகவும் இருக்கும்.

bad good
let daysSLV = 10;
let y = new Date().getFullYear();

let ok;
if (user.age > 30) {
  ok = true;
}
const MAX_AGE = 30;
let daysSinceLastVisit = 10;
let currentYear = new Date().getFullYear();

...

const isUserOlderThanAllowed = user.age > MAX_AGE;

 

தேவையில்லாத மேலதிகமான சொற்காளை தவிர்கவோண்டும்.

bad good
let nameValue;
let theProduct;
let name;
let product;

3.function

நீண்ட மற்றும் விளக்கமான பெயர்களைப் பயன்படுத்தவும். இது ஒரு குறிப்பிட்ட நடத்தையை பிரதிபலிக்கிறது என்றால் ,  ஒரு வினைச்சொல் அல்லது அதன் பின்னால் உள்ள நோக்கத்தையும்,  முழுமையாக வெளிப்படுத்தும் ஒரு சொற்றொடராக இருக்க வேண்டும். அந்த function  எந்த நோக்கத்துக்கு எழுதப்பட்டது என்பதை பெயர் வெளிப்படுத்த  வேண்டும்.

bad good
function notif(user) {
  // implementation
}
function notifyUser(emailAddress) {
  // implementation
}

அதிகளவிலான arquments ஐ தவிர்க்க வேண்டும்.ஒரு function க்கு இரண்டு அல்லது குறைவான arguments இருப்பது விரும்பத்தக்கது.இது  அந்த function ஐ  சோதிப்பதை  எளிதாக்கிறது.

bad good
function getUsers(fields, fromDate, toDate) {
  // implementation
}
function getUsers({ fields, fromDate, toDate }) {
  // implementation
}

getUsers({
  fields: ['name', 'surname', 'email'],
  fromDate: '2019-01-01',
  toDate: '2019-01-18'
});

 

conditional arguments ஐ பயன்படுத்துவதற்கு பதிலாக default arguments பயண்படுத்துவது நன்று.

bad good
function createShape(type) {
  const shapeType = type || "cube";
  // ...
}
function createShape(type = "cube") {
  // ...
}

ஒரு function ஒரு action ஐ செய்வது நன்று. அதிகமான actions  ஒரு single  fuction இல் execute செய்வதை தவிர்க்கவும்.

bad good
function notifyUsers(users) {
  users.forEach(user => {
    const userRecord = database.lookup(user);
    if (userRecord.isVerified()) {
      notify(user);
    }
  });
}
function notifyVerifiedUsers(users) {
  users.filter(isUserVerified).forEach(notify);
}

function isUserVerified(user) {
  const userRecord = database.lookup(user);
  return userRecord.isVerified();
}

default object க்கு Object .assign பயன்படுத்துங்கள் 

bad good
const shapeConfig = {
  type: "cube",
  width: 200,
  height: null
};

function createShape(config) {
  config.type = config.type || "cube";
  config.width = config.width || 250;
  config.height = config.height || 250;
}

createShape(shapeConfig);
const shapeConfig = {
  type: "cube",
  width: 200
  // Exclude the 'height' key
};

function createShape(config) {
  config = Object.assign(
    {
      type: "cube",
      width: 250,
      height: 250
    },
    config
  );

  ...
}

createShape(shapeConfig);


prameter இல் flages ஐ பயன்படுத்தவேண்டாம்.

bad good
function createFile(name, isPublic) {
  if (isPublic) {
    fs.create(`./public/${name}`);
  } else {
    fs.create(name);
  }
}

 


 
function createFile(name) {
  fs.create(name);
}

function createPublicFile(name) {
  createFile(`./public/${name}`);
}

4. Conditionals

 negative  conditionals பயன்படுத்த வேண்டாம் 

bad good
function isUserNotBlocked(user) {
  // implementation
}

if (!isUserNotBlocked(user)) {
  // implementation
}

 


 
if (isValid) {
  // do something...
}

if (!isValid) {
  // do something...
}

conditionals இயன்றளவு தவிர்க்கவும். அதற்குப்பதிலாக polymorphisum மற்றும் inheritance பயன்படுத்தவும். 

bad good
class Car {
  // ...
  getMaximumSpeed() {
    switch (this.type) {
      case "Ford":
        return this.someFactor() + this.anotherFactor();
      case "Mazda":
        return this.someFactor();
      case "McLaren":
        return this.someFactor() - this.anotherFactor();
    }
  }
}

 


 
class Car {
  // ...
}

class Ford extends Car {
  // ...
  getMaximumSpeed() {
    return this.someFactor() + this.anotherFactor();
  }
}

class Mazda extends Car {
  // ...
  getMaximumSpeed() {
    return this.someFactor();
  }
}

class McLaren extends Car {
  // ...
  getMaximumSpeed() {
    return this.someFactor() - this.anotherFactor();
  }
}

 

There are no comments yet.
Authentication required

You must log in to post a comment.

Log in