Best practices to get opened projects done and not waste time in the wrong direction [closed]
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this questionlet's say t开发者_如何学Pythonhat you in your new programming work your boss comes and says "hey, there is this new language X and I want you do get Y done with it", which is kind of an opened problem, in the sense that there could be 10000 different ways to achieve it. So let's suppose that you do not know the languaage X and your boss says "I need it in five days", what do you think is the best strategy to get it done?
For a perfectionist person, he/she would start to learn as much as possible about language X, so probably would run put of time and ot get it done. On the otehr side, somebody more tricky would just ooutsource it to experts in X or would do something with the objetive in mind to get the boss happy. What approach would you follow here?
And last, given an opened situation like here, where one does not know where to start exactly, how do you do it so you are sure you do not get lost in the way or you do not waste time unncesarily? I mean in terms; "umm, I do not need to learn this" or "I feel I have to go this direction" and so.
Can you recommend books/links?
Thanks
It would have been easier to help you if you had named language X, since I could have pointed you to specific books.
But generally it takes a few weeks of intense work before I feel comfortable with a new language. Then comes the frameworks around that language.
So in my humble opinion you have been given an impossible task if Y is non trivial.
With only 5 days your best bet is read a "Language X in 5 minutes" tutorial and then just google your way through problem Y.
Sure your code might not be "best practices" or even any good at that point, but you delivered and it probably worked.
I am lucky because I can just go to my boss and say: "I need a month or two to become acquainted with X and frame X.Z", but if that is not an option it's time for the great google in the sky.
And learning a new programming language is never a waste of time, it broadens your horizons. :)
I wish you good luck.
I usually start learning new technology by watching some video tutorials with examples of simple projects to get the "spirit" of this technology. After that probably reading some specific articles and tutorials connected to my new task that I'm going to develop. And after little by little start coding and learning. Of course, this is when I'm not going to become a pro in this technology or when I will use it for small period of time.
If it is about a technology that I intend to master in it ... it different - reading books, following some rss feeds from the pros in the area, watching (attending) conferences, usergroups, etc ...
Find a good reference book/site on the new language, and example code that's close to what you want (to use as a starting point). See if you can get a stubbed implementation together quickly, and build in features as you go. Only learn the elements of the language you need to accomplish the task.
If you get stuck on difficult parts of the problem itself, implement bits and pieces in the language you know best, then translate those into the new language.
It really depends on whether the application your boss wants is a temporary fix / trial or a production application. If it's the later you cannot expect to write a decent program having only had 5 days exposure to the language involved - and it'd be a big mistake to attempt to write a production app with that posture.
That said, it's a trail or some of temporary thing they I think you can pick enough to get something working if the task isn't too complex within 5 days especially if it's something more scripty like Perl or PhP you need to pick up.
In terms of how to get a quick start on a language my best advice is to find someone who knows the language well and spend some time with them.
精彩评论