Forgot your password?
typodupeerror

Comment: Re:Debug, document, add tests, refactor (Score 1) 308

by Cheburator-2 (#46143741) Attached to: Ask Slashdot: What Do You Do If You're Given a Broken Project?

Not at all. Why are you putting words in my mouth that I clearly didn't say?

Because that is a logical consequence of what you did say. If your product is sufficiently complex, then it's not perfect internally. To make a product "perfect" internally takes at least 3x time, and competitors would not sleep at that time. And you would be polishing features that maybe dropped or rewritten in the next versions. It's better to have some user input before you start polishing. Write - release - refactor - repeat. That is what works in a real world.

Comment: Re:Debug, document, add tests, refactor (Score 1) 308

by Cheburator-2 (#46142041) Attached to: Ask Slashdot: What Do You Do If You're Given a Broken Project?

Do you mean "don't ever do any challenging task at all, fuck the external time constraints, reject all customer feature requests if they are too complex"? Sorry, it doesn't work that way in a real world. What one really should do is to request quiet time once in a while when one can refactor and improve her own code. That's when code masterpieces are born.

Comment: Debug, document, add tests, refactor (Score 1) 308

by Cheburator-2 (#46141081) Attached to: Ask Slashdot: What Do You Do If You're Given a Broken Project?

Recently I had a very similar, but mirror experience. I've written a piece of complex code. Then a new guy came, looked at my code (he needed to fix a couple of things there) and decided that it's a piece of shit that could and should be rewritten from scratch in a couple of days. He failed. It's not that my code wasn't a piece of shit (it was), but there was a reason for it: that code was responsible for a very complex task and there was a severe time constraint. Most likely you have a similar code. My advice: don't blame the author. Instead, try to understand why his code is so complex. Study it, debug it, document it. Add high level tests for all possible situations. Then try to refactor the code to make it more robust and easier to understand. Good luck!

Comment: Do learn a second language, but not because of job (Score 2) 514

by Cheburator-2 (#42334871) Attached to: Ask Slashdot: 2nd Spoken/Written Language For Software Developer?

I speak Russian, English and I'm learning German. But what I've learned so far is that you don't need any human language except English to be a good programmer. Learning a second language won't improve your programming skills or your value, cause all other good programmers speak English.

On the other side, learning a second language allows you to develop your brains, improve your memory and to delay brain aging. Which language to learn depends on what time do you have and what language is easier for you to practice. If I were you, I'd learn Spanish or French because you can always travel to Mexico or Canada to practice it. Other variants: if you have little time, learn English-like language like German, it would be easier. Still more time - learn Slavic language like Russian or Czech (yes, they make a good beer in Prague, definitely worth visiting). But if you have a shitload of time, then learn completely different language like Japanese, Chinese, Finnish or Arabic.

Comment: Tetris need creativity? (Score 1) 322

by Cheburator-2 (#31791454) Attached to: All the Best Games May Be NP-Hard

Not a chance, you can play it half asleep without a single thought, just as easy as writing or talking. I've written a relatively simple algorithm for a computer to play tetris, it enumerates all possible options of placing a piece and compares certain properties of resulting landscape (number of holes, smoothness of surface, etc). Of course it is not perfect, but it can easily outplay most human players without any problems.

Comment: Give them license to modify the code (Score 3, Insightful) 447

by Cheburator-2 (#31380690) Attached to: Why Paying For Code Doesn't Mean You Own It

First of all, client expects to be able to use and MODIFY code you've done for them, both physically and legally. Who owns the code - is the second question. They don't want to own your library - they just want THE LICENSE allowing them to see, modify and use that modified code. It is the same thing as open source, except that they don't get the right to redistribute your library.

Don't be a dick, just give them that license.

"It is easier to fight for principles than to live up to them." -- Alfred Adler

Working...