I'm pretty new to large projects, and usually my code is neat and manageable. But now that I'm about a month deep, things are starting to seem sloppy (or at least not aesthetically pleasing).
Are there any good methods/things I should keep in mind when designing a function that is compact and neat?
Function is question: 'postal', 'streettypecheck', and 'namecheck' are regex
function addresscheck(serverpackage) {
var i;
var streetnumber = [];
var postalcode = [];
var potentialname = [];
var streettype = [];
var highlightdata = serverpackage.split(' ');
for (i = 0; i <= highlightdata.length; i++) {
if(!isNaN(highlightdata[i])) {
streetnumber.push(highlightdata[i]);
} else if (postalcheck.test(highlightdata[i])) {
if (highlightdata[i].indexOf('-') !== -1 || highlightdata[i].indexOf(" ") !== -1 && highlightdata[i].length == 7) {
postalcode.push(highlightdata[i]);
} else if (highlightdata[i].indexOf('-') == 1 || highlightdata[i].indexOf(' ') && highlightdata[i].length == 6) {
postalcode.push(highlightdata[i]);
}
} else if (streettypecheck.test(highlightdata[i])) {
streettype.push(highlightdata[i]);
} else if (namecheck.test(highlightdata[i])) {
potentialname.push(highlightdata[i]);
}
}
var addressinfo={
postalcode: postalcode,
streetnumber: streetnumber,
streettype: streettype,
potentialname: potentialname
}
return addressinfo;
}
Consider that all text is non formatted.
Sample data1: Street st jksh7dyasf B7Z-8U0 aaa
Sample data2: 166623gggdgdgdgdf 123 88f8f88d88dydydy B7Z-8U0 Street st 8888 aaaa
postalcheck.exec
,streettypecheck.exec
andnamecheck.test
methods do? Are those regular expressions? \$\endgroup\$