Why are they not appropriate lock objects?  Start a discussion before just 
changing them.

Ralph


On Apr 28, 2014, at 10:40 AM, Matt Sicker <boa...@gmail.com> wrote:

> In that case, Item 69: prefer concurrency utilities to wait and notify. 
> Sounds like we can just use a plain Object instance to lock (which is pretty 
> much equivalent to using ReentrantLock) when doing normal locks, but instead 
> of using .notifyAll() and .wait(), we should use the Condition interface 
> (which would require using Lock as well).
> 
> I agree that using synchronized(object) makes sense when it's all that's 
> being done. However, I've been changing instances of synchronized(this) and 
> synchronized(foo) where foo is not an appropriate lock object (e.g., a 
> string, or a non-final object, things like that).
> 
> 
> On 28 April 2014 12:28, Ralph Goers <ralph.go...@dslextreme.com> wrote:
> Yes, guidelines called out by Effective Java are appropriate when they apply.
> 
> As for concurrency, “New” isn’t always better than old.  In a few places you 
> changed synchronized(object) to use a Lock instead. There is little to no 
> value in doing that and makes the code look a little more cluttered.  
> However, if a ReadWriteLock can be used in place of synchronized that is a 
> real benefit.
> 
> The point of the guidelines are that when it comes to stuff like this, unless 
> there is a guideline written down that says the current code is wrong discuss 
> it on the list before making a change.
> 
> Ralph
> 
> On Apr 28, 2014, at 9:35 AM, Matt Sicker <boa...@gmail.com> wrote:
> 
>> What about style things covered by Effective Java? These are pretty much all 
>> good ideas.
>> 
>> Also, how about some guidelines on concurrency? I'd recommend not using the 
>> old concurrency stuff and instead using java.util.concurrent.* for more 
>> effective concurrency. This doesn't include the Thread vs Runnable thing, so 
>> that's still debatable.
>> 
>> 
>> On 28 April 2014 08:46, Gary Gregory <garydgreg...@gmail.com> wrote:
>> Perhaps if one breaks the build, it should be polite to revert that last 
>> commit...
>> 
>> Gary
>> 
>> 
>> On Mon, Apr 28, 2014 at 3:07 AM, Ralph Goers <ralph.go...@dslextreme.com> 
>> wrote:
>> I think we need to develop and post some development “guidelines”, “best 
>> practices” or whatever you want to call it for Log4j 2.  Here are some of 
>> the things I would definitely want on it.
>> 
>> 1. Error on the side of caution. If you don’t understand it, don’t touch it 
>> and ask on the list. If you think you understand it read it again or ask 
>> until you are sure you do. Nobody will blame you for asking questions.
>> 2. Don’t break the build - if there is the slightest chance the change you 
>> are making could cause unit test failures, run all unit tests.  Better yet, 
>> get in the habit of always running the unit tests before doing the commit.
>> 3. If the build breaks and you have made recent changes then assume you 
>> broke it and try to fix it. Although it might not have been something you 
>> did it will make others feel a lot better than having to fix the mistake for 
>> you. Everyone makes mistakes. Taking responsibility for them is a good thing.
>> 4. Don’t change things to match your personal preference - the project has 
>> style guidelines that are validated with checkstyle, PMD, and other tools. 
>> If you aren’t fixing a bug, fixing a problem identified by the tools, or 
>> fixing something specifically called out in these guidelines then start a 
>> discussion to see if the change is something the project wants before 
>> starting to work on it. We try to discuss things first and then implement 
>> the consensus reached in the discussion.
>> 
>> Of course, the actual coding conventions we follow should also be spelled 
>> out, such as indentation, braces style, import ordering and where to use the 
>> final keyword.
>> 
>> Ralph
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
>> For additional commands, e-mail: log4j-dev-h...@logging.apache.org
>> 
>> 
>> 
>> 
>> -- 
>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org 
>> Java Persistence with Hibernate, Second Edition
>> JUnit in Action, Second Edition
>> Spring Batch in Action
>> Blog: http://garygregory.wordpress.com 
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>> 
>> 
>> 
>> -- 
>> Matt Sicker <boa...@gmail.com>
> 
> 
> 
> 
> -- 
> Matt Sicker <boa...@gmail.com>

Reply via email to