@vaporeon_ software eggineering poisons your brain
@wallhackio Are you referring to yourself or to me or to us all?
@vaporeon_ I'm referring to anyone who writes code for money instead of writing code for fun
@vaporeon_ this is not a slight on Holly. i hope that is clear. she does code golf so you know she actually likes coding for the hell of it
@wallhackio @vaporeon_ oh yeah all this goes out the window when you're golfing. sometimes it's fun to let loose and write some horseshit
@monorail @vaporeon_ my worst code practices occur when i hack a solution to a challenging data structures/algorithms problem
@wallhackio How can you have bad code practices when there's no such thing as good Java code, it's all terrible
@vaporeon_ I've done DS&A problems in JavaScript and written some nightmarish oneliners doing that
@wallhackio Need to see
@vaporeon_ I know how this is gonna go. I will show it to you and then you'll be like, wait this is cool I like it :)
@vaporeon_ okay here's a bad one. i implemented a non-recursive quicksort using the variables gorp, norp, and sorp:
const partition = (arr, start, end, strategy) => {
const q = [[start, end]];
while (q.length > 0) {
const [left, right] = q.pop();
const p = strategy(arr, left, right);
const pVal = arr[p];
swap(arr, p, right);
let gorp = 0;
let norp = 0;
let sorp = 0;
const L = right - left + 1;
for (let i = 0; i < L - 1; ++i) {
const curr = left + gorp + sorp;
if (arr[curr] === pVal) {
swap(arr, left + sorp, curr);
++sorp;
} else if (arr[curr] > pVal) {
swap(arr, curr, right - norp - 1);
++norp;
} else {
++gorp;
}
}
for (let j = 0; j < gorp; ++j) {
swap(arr, left + j, left + sorp + j);
}
swap(arr, left + gorp + sorp, right);
if (gorp > 1) q.push([left, left + gorp - 1]);
if (norp > 1) q.push([left + gorp + sorp + 1, right]);
}
};
@wallhackio @vaporeon_ is that single member array of arrays not a typo lol
@aescling @vaporeon_ oh this was an inefficient implementation of Dutch National Flag too, lol