Hi,

We don't have a very formulated code style yet. But we do have a checkstyle.xml file in our repo we run our builds against, which covers a good amount. (Up until recently this was enforced through maven checkstyle, now that's done through Gradle checkstyle). 
We mainly use the Android Studio (similar to IntelliJ) defaults for automatic code formatting. I'm going to try to come up with some customizations that we in the team can agree on and that can be configured in Android Studio. First I'd like to figure out a way to share the Android Studio/(or IntelliJ) Code formatting configuration.

Bernd


On Wed, May 13, 2015 at 10:41 PM, James Douglas <jdouglas@wikimedia.org> wrote:
I began https://www.mediawiki.org/wiki/Manual:Coding_conventions/Java based on the suggestions so far.

On Wed, May 13, 2015 at 10:40 AM, Nikolas Everett <neverett@wikimedia.org> wrote:
+bearND

Good call on talking to the Android folks on their Java style. bearND's reviewed quite a few of my Java patches and has been super helpful.

On Wed, May 13, 2015 at 1:22 PM, Dan Garry <dgarry@wikimedia.org> wrote:
For a Java style guide for the WMF, I'd recommend also looping in the Android app engineers, since they're developing in Java too. Your point of contact for them would be their tech lead, Bernd (bsitzmann@wikimedia.org, BearND on IRC).

Given Android apps are a very different domain from Java services, you may end up diverging and wanting separate Java style guides, which I think would be fine. But I thought I'd throw that out there anyway. :-)

Dan


On Tuesday, May 12, 2015, James Douglas <jdouglas@wikimedia.org> wrote:
Howdy search team,

Would anyone be interested in collaborating on style guides for Java, PHP, and any other languages we tend to use amongst ourselves?

It would be super handy to have a reference to reach for when considering alternative design patterns, plus it would be a lot of fun to think about how (and why) we might prefer one style over another.

It would also make a convenient way when onboarding new folks (of whom there will be many) to get them quickly ramped up on how to sling code, WMF Search Team style.

Also also it would make a convenient way for code reviewers to say "Yo James, this is totally not Haskell, stop trying to make everything a monad!".

Thoughts?

For a starting point in Java, perhaps we could use Effective Java[1] as a template, and (bias alert) sprinkle in some Functional Programming in Java[2] for good measure.

For PHP, I have no idea what I'm doing, but I have an interesting Functional Programming in PHP[3] book on my desk that y'all can borrow.

Cheers!
James

1. http://www.amazon.com/Effective-Java-Edition-Joshua-Bloch/dp/0321356683
2. http://shop.oreilly.com/product/0636920021667.do
3. http://www.functionalphp.com/


--
Dan Garry
Product Manager, Search and Discovery
Wikimedia Foundation


_______________________________________________
Wikimedia-search mailing list
Wikimedia-search@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikimedia-search



_______________________________________________
Wikimedia-search mailing list
Wikimedia-search@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikimedia-search