[haiku-development] Re: Final Set*UIColor Patch, Version 3e
- From: looncraz <looncraz@xxxxxxxxxxx>
- To: haiku-development@xxxxxxxxxxxxx
- Date: Sun, 22 Nov 2015 15:01:33 -0600
On 11/22/2015 13:48, Axel Dörfler wrote:
As I said: please get the basics done first. I'm really only pissed at
you since you claimed you had gone to lengths to fix all coding style
issues when you in fact have not.
I ran every tool, and was pretty sure I had managed to get rid of the
style issues. I have addressed every issue you presented, and scanned
for other examples of them, and missed a couple. You do realize that
this patch is one of the largest single contributions made to Haiku
(size-wise) in at least a year, right? And is being made by someone who
has only submitted two other, minor, patches previously?
Things will be missed, simple as that. No need to get upset over it.
Your anger shows and is contagious. And is certainly misplaced.
Following the coding style is not optional, everyone else does it, and
I really don't understand why you have such a hard time doing it.
I've repeatedly stated that I have no problems with it, and every time
an issue is pointed out I repair it right away. It's the attitude that
comes when those issues are missed in my own examinations that presents
an issue.
When reviewing your own code, you tend to group things together,
correct? This means you miss errors that stand out to other people.
This will happen probably even in this one email. Compound that onto
thousands of lines of code and realize you are getting angry about
someone missing an 'h' in these, and a space before or after //, even
though they may not even be aware that such a style rule exists, even
though they've have read the style guidelines several times. Human
fallibility is omnipresent.
But beyond style, you did *not* follow any suggestion I had besides
the timeout and "dm" naming, and you didn't even get that one right at
first shot.
As I've always said, I have different ideas, you have different ideas.
If you want something in particular, don't just complain about how it
is, offer an alternative. I tried to get you to do this many times, but
still (even in this email) you do not.
You did *not* answer to the actual critic I had for your solutions so
far in any meaningful way:
1) delayed message implementation is sub-optimal
Please, elaborate. What is sub-optimal. Because, computational
complexity-wise, it is approximately the best that can be accomplished
by anyone. There are no busy loops, little lock contention,
considerations for every possible stall and the response that might have
on the calling code, there a common-case optimizations, a simple API
commonly already widely in use in the app_server, etc...
What more do you want? Please, be specific.
2) delayed invalidation implementation is poor
What is wrong with it? You've never mentioned this before.
3) Your API decisions are poor (ie. merge/comparison in delayed message)
The primary benefit of DelayedMessage is that it can merge messages
according to a set of simple rules. Requiring a callback to make that
decision, as you suggested, is not needed. There are, literally, only a
few times and methods by which any message will ever be merged with
other messages.
4) BColorMap should certainly not be a public API.
I have asked you repeatedly if you wanted me to do it this way and you
never responded, even having me correct style issues, and how it sets
existing values. NOW you say you don't want it (it is either public
API, or it doesn't exist)?
This clearly demonstrates why the discussion should be functionality
first. I have spent an incredible amount of time on BColorMap and its
widespread deployment around the system. I greatly modified the
Appearance preflet to use it, and optimized the app_server using it.
You have had ample opportunity, even upon my repeated requests, to not
have BColorMap.
In lieu of BColorMap, the ONLY working solution is to add numerous
methods (FindColor, AddColor, SetColor, HasColor) to BMessage directly,
and lose some of the efficiency in app_server. Unless, of course, you
want all 3rd party apps to have to decode the B_COLORS_UPDATED BMessage
manually, which is more work than it is worth, so few will bother,
meaning future apps will be less likely to have proper color behavior.
5) Your development process is questionable (now, lets put a timeout
of 25000 here, and a B_HOST_TO_BIG_ENDIAN here. I have no idea why,
but it sure looks good). That is sloppy.
The timeout I genuinely don't know how that even got there. The
endianness is a directly copy from BView's handling and proved itself to
be required. I wouldn't think it would be, but I just made the
assumption that it would be needed because BMessage uses a different
internal storage format and rgb_color doesn't follow suit. It's not
sloppy, it's following what others have done when doing the exact same
thing yourself.
I haven't heard any good arguments from you concerning these.
You asked for a review, and you got one for most of your work, but you
aren't open to discuss your code at all. You just like your solution
too much.
I asked for specific suggestions, and received silence or derision. A
proper conversation flows like this:
YOU: I don't like this, can you do it like this instead?
ME: Oh, I did it this way because X, Y, &Z.
YOU: I see, maybe you should think of A & B, and R, H, and T instead.
ME: Okay, I can do that, glad you caught this early!
Instead, this is what we see:
YOU: I don't like this.
ME: Why? I could do this way, or this way, what do you want?
YOU:
ME: Okay, I have rewritten this to be BColorMap...
YOU: There's a typo, a missing extra line, and a missing space, oh, and
use SetInt32, you're wasting my time.
ME: Thanks, fixed all that now, do we want to keep using this?
YOU:
ME: (days later) Okay, so I am done with the requested changes and ready
to have this reviewed:
YOU: You're wasting my time... I don't like this, I don't want BColorMap
This is what has been happening. Maybe you think you are being more
constructive in your responses than you are?
All *you* are talking about are the numerous coding style violations.
I'm only talking about their prioritization over functionality. I don't
mind repairing them, and have even stated that they will naturally
become fewer as I acclimate to the coding style - assuming I continue to
contribute at all.
Of course you are wasting my time when I have to tell you more than
once about each violation. I can't imagine that you are too dumb to
understand this.
There was only one time when a single violation was not repaired, and I
think that was just because I reverted to an earlier version at one
point and accidentally brought the style issue back in.
And I definitely don't hate you, but I have pretty much lost any
respect for you throughout this whole thing.
I didn't think you did, that was an e-mail to me :p. I think, though,
you may have been expecting more from me than you should have.
As I said, I'm not even against merging your code (once the style
issues are solved), but you have to accept that its quality isn't that
great. There is a lot more to development than having a look at how it
works in the end.
The style issues, AFAICT, have been solved.
And, in reality, there is nothing more to developing software than its
functionality. The computer doesn't care at all about styling issues.
What we see here, though, is you having me repair styling issues without
even discussing if the file in which I am correcting style issues should
even exist.
Who cares about a missing space if I you want me to delete the
implementation entirely?
I've tried to be as courteous as possible, even after you told me I was
wasting your time. I made my changes, took a couple days to review
things, then decided I really can't afford to keep going through this
cycle. We should have completed this long ago, and would have if your
feedback had been more constructive.
--The loon
Other related posts:
- » [haiku-development] Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Adrien Destugues
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Axel Dörfler
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Stephan Aßmus
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Dario Casalinuovo
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Adrien Destugues
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Adrien Destugues
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Jérôme Duval
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Adrien Destugues
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Jérôme Duval
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- scottmc
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- scottmc
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Adrien Destugues
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Axel Dörfler
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Jérôme Duval
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Adrien Destugues
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Stephan Aßmus
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e - looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Stephan Aßmus
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Stephan Aßmus
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Stephan Aßmus
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Alexander von Gluck IV
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Jérôme Duval
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- John Scipione
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Axel Dörfler
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Brian Hague
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- looncraz
- » [haiku-development] Re: Final Set*UIColor Patch, Version 3e- Dario Casalinuovo