간단한 코드 작업은 단순해야 합니다.

5980 단어 tricksjavascriptperl
나는 사람들이 동적 언어로 가장 복잡한 방식으로 간단한 일을 하는 것을 자주 봅니다. 나는 이것이 우리가 대학에서 알고리즘과 프로그래밍을 가르치는 방식에서 이월된 것이라고 생각합니다. 코드를 읽을 수 있고 장기적으로 유지 관리할 수 있기를 원한다면 간단한 코드 작업은 단순해야 합니다.

두 목록 병합



이것은 간단합니다. 과일 목록과 야채 목록이 있고 이들을 "생산"이라는 목록으로 병합하려고 합니다.

펄에서:

my @fruits = qw/apple banana mango/;
my @veggies = qw/broccoli asparagus spinach/;


자바스크립트:

const fruits = ['apple', 'banana', 'mango']
const veggies = ['broccoli', 'asparagus', 'spinach']


어떤 사람들은 여기에서 반복 또는 push() 함수를 사용하고 싶지만 둘 다 필요하지 않습니다. 간단한 할당문은 잘 작동합니다.

펄에서:

my @produce = (@fruits, @veggies);


자바스크립트:

const produce = [...fruits, ...veggies];


그다지 인상적이지는 않지만 연관 배열(a.k.a. Object s, a.k.a. 해시)로 동일한 작업을 수행할 때 어떤 일이 발생하는지 지켜보세요. 이제 우리는 색상과 함께 제품을 생산할 것입니다.

펄에서:

my %fruits = (
  apple  => 'red',
  banana => 'yellow',
  mango  => 'light-orange');
my %veggies = (
  broccoli  => 'green',
  asparagus => 'green',
  spinach   => 'green');

my %produce = (%fruits, %veggies);


자바스크립트:

const fruits = {
  apple:  'red',
  banana: 'yellow',
  mango:  'light-orange'}
const veggies = {
  broccoli:  'green',
  asparagus: 'green',
  spinach:   'green'}

const produce = {...fruits, ...veggies};


깔끔한 작업을 수행하는 매끄러운 코드를 갖는 것은 매우 멋진 일이지만, 데이터를 함께 압축할 때는 모든 것을 단순하게 유지하는 것이 항상 더 좋습니다.

한 가지 예외: JavaScript를 사용하는 경우 스프레드 연산자( ... )는 최대값limit supported by Function.apply() , which (as of the time of this post) is 65,536 total values으로 제한됩니다.

어쨌든, 나는 이것을 작성하는 것이 즐거웠고 당신의 코드가 당신에게 기쁨을 주기를 바랍니다.

좋은 웹페이지 즐겨찾기