snowberb – 10-49 Oct 6
Focusing only in code readability, maintainability and quality, which piece of code would you choose? (Both do the same and work)
The objective is to calculate the bounds of a point chart
Piece 1:
Piece 2:
The objective is to calculate the bounds of a point chart
Piece 1:
const bounds = { maxX: 0, minX: 0, maxY: 0, minY: 0 };
for (const index in dataArray) {
const { return: returnData, volatility } = dataArray[index];
if (volatility > bounds.maxX) bounds.maxX = volatility;
if (volatility < bounds.minX) bounds.minX = volatility;
if (returnData > bounds.maxY) bounds.maxY = returnData;
if (returnData < bounds.minY) bounds.minY = returnData;
} const bounds = { maxX: 0, minX: 0, maxY: 0, minY: 0 };
for (const index in dataArray) {
const { return: returnData, volatility } = dataArray[index];
if (volatility > bounds.maxX) bounds.maxX = volatility;
if (volatility < bounds.minX) bounds.minX = volatility;
if (returnData > bounds.maxY) bounds.maxY = returnData;
if (returnData < bounds.minY) bounds.minY = returnData;
}Piece 2:
export const findMinMax = (arr: { low: number; high: number }[]) => {
if (!arr.length) return [0, 0];
let min = arr[0].low,
max = arr[0].high;
for (let i = 1, len = arr.length; i < len; i++) {
const v = arr[i].low;
min = v < min ? v : min;
max = v > max ? v : max;
}
return [min, max];
};
const ranges_1 = findMinMax(
dataArray.map(({ return: returnData, volatility }) => ({
low: returnData || 0,
high: volatility || 0,
})) || [],
);
const ranges_2 = findMinMax(
dataArray.map(({ return: returnData, volatility }) => ({
low: volatility || 0,
high: returnData || 0,
})) || [],
);
const bounds = { maxX: ranges_2[1], minX: ranges_1[0], maxY: ranges_1[1], minY: ranges_2[0] }; export const findMinMax = (arr: { low: number; high: number }[]) => {
if (!arr.length) return [0, 0];
let min = arr[0].low,
max = arr[0].high;
for (let i = 1, len = arr.length; i < len; i++) {
const v = arr[i].low;
min = v < min ? v : min;
max = v > max ? v : max;
}
return [min, max];
};
const ranges_1 = findMinMax(
dataArray.map(({ return: returnData, volatility }) => ({
low: returnData || 0,
high: volatility || 0,
})) || [],
);
const ranges_2 = findMinMax(
dataArray.map(({ return: returnData, volatility }) => ({
low: volatility || 0,
high: returnData || 0,
})) || [],
);
const bounds = { maxX: ranges_2[1], minX: ranges_1[0], maxY: ranges_1[1], minY: ranges_2[0] };