d2jsp
Log InRegister
d2jsp Forums > Off-Topic > Computers & IT > Programming & Development > Make Me A Better Programmer - From Step 1
Prev1515253545556Next
Add Reply New Topic New Poll
Member
Posts: 32,925
Joined: Jul 23 2006
Gold: 3,804.50
Jan 9 2015 08:58pm
Quote (Eep @ Jan 9 2015 08:35pm)
lmfao

no idea

but yeah.

My team lead always describes our software as....."It works, but in strange ways"....something along those lines.

For example, we have 3 different display windows which are all handled in the same class....which leads to interesting results in the client UI.

Anyways, I am learning a whole bunch, and this is all before I even get to actually coding really. Only coding I've done has been some really simple stuff so far.


I am just thankful that they kind of train you on the software they sell before you start coding features for it. Not sure if that is how it always goes or not.


my company is a strong believer in on-the-job learning, eg give you an assignment then you embark on an epic journey asking people questions until you know enough to do it. i pretty much only worked on a single application (~500 classes) and a few closely related applications for 2 years. coworker who wrote the app worked with me to set it up on my machine and briefly walked me through it. the guys giving me requirements would point to the screen and describe what they wanted done, and i was able to do that without understanding too much context. i thought it was pretty bad when i saw a method with over 4000 lines of code, but at least we didn't have 31000 lines of constants in a single file. our constants were only 1200 lines long. i spent a few months refactoring it, then improving performance, and i learned a lot about the app during that period.

/edit: after working there for 4 years, our 2 year plan includes rewriting the application from windows mobile to ios/android. after using the old app for about a decade, we wanna try to design it better.

This post was edited by carteblanche on Jan 9 2015 09:00pm
Member
Posts: 23,862
Joined: Aug 16 2006
Gold: 20.00
Jan 9 2015 09:15pm
Quote (carteblanche @ Jan 9 2015 09:58pm)
my company is a strong believer in on-the-job learning, eg give you an assignment then you embark on an epic journey asking people questions until you know enough to do it. i pretty much only worked on a single application (~500 classes) and a few closely related applications for 2 years. coworker who wrote the app worked with me to set it up on my machine and briefly walked me through it. the guys giving me requirements would point to the screen and describe what they wanted done, and i was able to do that without understanding too much context. i thought it was pretty bad when i saw a method with over 4000 lines of code, but at least we didn't have 31000 lines of constants in a single file. our constants were only 1200 lines long. i spent a few months refactoring it, then improving performance, and i learned a lot about the app during that period.

/edit: after working there for 4 years, our 2 year plan includes rewriting the application from windows mobile to ios/android. after using the old app for about a decade, we wanna try to design it better.


I think that they finally separated that constants file like, the same day I posted that.

I haven't gotten changes from the other devs on my machine, so all my stuff is the same as it was monday
Member
Posts: 32,925
Joined: Jul 23 2006
Gold: 3,804.50
Jan 9 2015 09:29pm
after working for a company for a while, i noticed i started wrapping all the built in methods with my own utility methods. often they just call the build in methods, but it makes it super easy to change. i got bit in the ass too many times depending on them to work a certain way only to find out later they dont work exactly the way i want.
Member
Posts: 23,862
Joined: Aug 16 2006
Gold: 20.00
Jan 9 2015 09:48pm
Quote (carteblanche @ Jan 9 2015 10:29pm)
after working for a company for a while, i noticed i started wrapping all the built in methods with my own utility methods. often they just call the build in methods, but it makes it super easy to change. i got bit in the ass too many times depending on them to work a certain way only to find out later they dont work exactly the way i want.


system built ins or your companies custom methods

This post was edited by Eep on Jan 9 2015 09:48pm
Member
Posts: 32,925
Joined: Jul 23 2006
Gold: 3,804.50
Jan 9 2015 09:58pm
Quote (Eep @ Jan 9 2015 10:48pm)
system built ins or your companies custom methods


in java, i dont use Integer.parseInt(..) or string.substring(..) or System.out.println(..) or list.length or anything like that directly.

in javascript, i try not to use require(..), parseInt(..), string.substring, etc directly.
Member
Posts: 23,862
Joined: Aug 16 2006
Gold: 20.00
Jan 9 2015 10:00pm
Quote (carteblanche @ Jan 9 2015 10:58pm)
in java, i dont use Integer.parseInt(..) or string.substring(..) or System.out.println(..) or list.length or anything like that directly.

in javascript, i try not to use require(..), parseInt(..), string.substring, etc directly.


ahhhh

ok, I asked because like, we use .net DataTable class, and we made a class which wrapped that.....and I am pretty sure a guy on my team took that CLASS and wrapped some parts of it....so like double wrapped?
Member
Posts: 32,925
Joined: Jul 23 2006
Gold: 3,804.50
Jan 9 2015 10:19pm
Quote (Eep @ Jan 9 2015 11:00pm)
ahhhh

ok, I asked because like, we use .net DataTable class, and we made a class which wrapped that.....and I am pretty sure a guy on my team took that CLASS and wrapped some parts of it....so like double wrapped?


we did that, too, both in .net and java. it's easier to add custom logging or metadata that way. the double wrapping is usually for legacy purposes; old code uses the first wrapping, and you ended up needing more features or changing functionality and dont wanna break the old code, so you wrap it again or subclass your wrap.
Member
Posts: 23,862
Joined: Aug 16 2006
Gold: 20.00
Jan 14 2015 08:45pm
still scratching the surface of our system

MUST GO DEEPER
Member
Posts: 1,995
Joined: Jun 28 2006
Gold: 7.41
Jan 14 2015 10:11pm
Quote (carteblanche @ Jan 9 2015 10:58pm)
in java, i dont use Integer.parseInt(..) or string.substring(..) or System.out.println(..) or list.length or anything like that directly.

in javascript, i try not to use require(..), parseInt(..), string.substring, etc directly.


We have these as well. We have created a whole bunch of common extension methods which wrap various operations. Among them we have String extensions for data type parsers

Code
public static int ToInt(this String value)
{
int newValue = 0;
int.TryParse(str, out newValue);
return newValue;
}



Things like that
Member
Posts: 23,862
Joined: Aug 16 2006
Gold: 20.00
Jan 20 2015 06:27pm
I finished training yesterday, today I got a crap load of enhancements to work on.

Thankfully, most of the stuff I am working for is scheduled for the next release.

It is kind of weird going back and forth between our old architecture (winForms based) and the new one.

On top of that, I joined at a really interesting time, as we are getting ready to overhaul everything from silverlight to html5/js (I might have said this before)

Overall, going pretty well. Still learning a lot.
Go Back To Programming & Development Topic List
Prev1515253545556Next
Add Reply New Topic New Poll