Это то, что я делаю в Opencv для определения качества фокусировки в регионе:
Mat grad;
int scale = 1;
int delta = 0;
int ddepth = CV_8U;
Mat grad_x, grad_y;
Mat abs_grad_x, abs_grad_y;
/// Gradient X
Sobel(matFromSensor, grad_x, ddepth, 1, 0, 3, scale, delta, BORDER_DEFAULT);
/// Gradient Y
Sobel(matFromSensor, grad_y, ddepth, 0, 1, 3, scale, delta, BORDER_DEFAULT);
convertScaleAbs(grad_x, abs_grad_x);
convertScaleAbs(grad_y, abs_grad_y);
addWeighted(abs_grad_x, 0.5, abs_grad_y, 0.5, 0, grad);
cv::Scalar mu, sigma;
cv::meanStdDev(grad, /* mean */ mu, /*stdev*/ sigma);
focusMeasure = mu.val[0] * mu.val[0];
На данный момент у меня есть папка с именем в PascalCase и внутри нее у меня есть файл index.js
- это мой компонент.
Любые Компоненты, непосредственно присоединенные к корневому Компоненту, я вложил в их собственную Папку с их собственным index.js. Я также использую точечную запись, чтобы описать природу любых файлов, непосредственно связанных с этой папкой, например [descriptor].[name].[prefix]
Components/
ComponentName/
|---util.componentName.js
|---constants.componentName.js
|---styles.componentName.scss
|---index.js
ChildComponent1/
|---util.childComponent1.js
|---styles.childComponent1.scss
|---index.js
ChildComponent2/
|---util.childComponent2.js
|---styles.childComponent2.styles
|---index.js
И для моего магазина mobx, потому что у меня меньше шансов иметь действительно глубокую структуру папок с Модули моего магазина У меня есть одна корневая папка-модуль с обычно двумя js
файлами в них Actions.js
& amp; index.js
index - это класс моего основного магазина, который расширяет мой класс Actions. (Я обнаружил, что один класс mobx со свойствами observable
, computed
и action
стал немного загроможденным).
Сама папка Store имеет index.js
, который импортирует все родственные модули-хранилища, чтобы позже объединить их в один объект-хранилище (необходимый для моего проекта)
Store/
StoreModule/
|---actions.js
|---index.js
AnotherStoreModule/
|---actions.js
|---index.js
index.js
Я полагаю, что есть нет НАСТОЯЩЕГО правильного способа, так как это зависит от предпочтений, вышеописанный способ, который я нахожу читаемым, и при использовании инструментов в VSCode для поиска файлов это может упростить поиск таких особенностей, как «я хочу видеть все файлы, которые являются константными файлами» ищет constants.[component name]