Есть ли способ определить JS функций в произвольном порядке? - PullRequest
0 голосов
/ 21 марта 2020

Мне нравится идея функционального программирования, заключающаяся в том, что каждая функция служит только одной цели и т. Д. c ...

Хотя я не понимаю, как сделать мой код понятным человеку с точки зрения упорядочивания функций.

// writeParagraph.js

const writeWord = (wordArgs) => {
  // do stuff with wordArgs
  return word
}

const writeSentence = (sentenceArgs) => {
  const sentence = sentenceArgs.map(writeWords)
  return sentence
}

export const writeParagraph = (paragraphArgs) => {
  const paragraph = paragraphArgs.map(writeSentence)
  return paragraph
} 

Всякий раз, когда я буду открывать writeParagraph.js, чтобы исследовать, что в нем, я буду искать часть export const writeParagraph. И чтобы прочитать его, мне нужно будет go до writeSentence, что выше, а не ниже. Как человек, я привык читать сверху донизу. Есть ли способ структурировать функциональный код для чтения сверху вниз.

Ответы [ 2 ]

1 голос
/ 21 марта 2020

Если вы предпочитаете другой порядок, вы можете просто изменить его:

export const writeParagraph = (paragraphArgs) => {
  const paragraph = paragraphArgs.map(writeSentence)
  return paragraph
} 

const writeSentence = (sentenceArgs) => {
  const sentence = sentenceArgs.map(writeWords)
  return sentence
}

const writeWord = (wordArgs) => {
  // do stuff with wordArgs
  return word
}

Это работает, потому что все функции объявлены в одной и той же области и могут обращаться друг к другу.

Если ваш линтер теперь жалуется на потенциальное использование перед определением (даже если вы этого не делаете), вы можете либо отключить это правило (если вы знаете, что делаете), либо использовать вместо него правильные объявления:

export function writeParagraph(paragraphArgs) {
  const paragraph = paragraphArgs.map(writeSentence)
  return paragraph
} 

function writeSentence(sentenceArgs) {
  const sentence = sentenceArgs.map(writeWords)
  return sentence
}

function writeWord(wordArgs) {
  // do stuff with wordArgs
  return word
}
0 голосов
/ 21 марта 2020

Код заказа может быть субъективным.

Некоторые культуры читают с тыльной стороны книги справа. Некоторые читают справа налево.

Я думаю, что именно поэтому были изобретены комментарии.

Поместите блок комментариев вверху, объясняющий порядок вашего кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...