Framework & Code Re-Factoring: Maintaining Quality

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Framework & Code Re-Factoring: Maintaining Quality

Sharan-F
Hi Everyone

It's great to see the progress happening on the framework and code re-factoring.  Tasks from our to do list are being picked up and worked on, so thank you to everyone involved in this.

As this is a code clean-up, I'd really like to emphasize that we need to be extra careful because we are changing the way we currently code. This means that there is some extra responsibility for the committers in the review process to ensure that the quality of the code going in is an improvement to the existing code (I.e we dont want to commit anything that keeps our code untidy or makes it even worse)

If we can include stronger quality checks while the re-factoring is going on, we can be sure that we are definitely making and delivering code improvements.

What do people think?

Thanks
Sharan
Reply | Threaded
Open this post in threaded view
|

Re: Framework & Code Re-Factoring: Maintaining Quality

Pranay Pandey-3
+1 will be extra careful going forward.

Best regards,

Pranay Pandey
HotWax Systems
http://www.hotwaxsystems.com/

On Fri, Apr 8, 2016 at 12:36 PM, Sharan-F <[hidden email]> wrote:

> Hi Everyone
>
> It's great to see the progress happening on the framework and code
> re-factoring.  Tasks from our to do list are being picked up and worked on,
> so thank you to everyone involved in this.
>
> As this is a code clean-up, I'd really like to emphasize that we need to be
> extra careful because we are changing the way we currently code. This means
> that there is some extra responsibility for the committers in the review
> process to ensure that the quality of the code going in is an improvement
> to
> the existing code (I.e we dont want to commit anything that keeps our code
> untidy or makes it even worse)
>
> If we can include stronger quality checks while the re-factoring is going
> on, we can be sure that we are definitely making and delivering code
> improvements.
>
> What do people think?
>
> Thanks
> Sharan
>
>
>
>
> --
> View this message in context:
> http://ofbiz.135035.n4.nabble.com/Framework-Code-Re-Factoring-Maintaining-Quality-tp4679123.html
> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>
Reply | Threaded
Open this post in threaded view
|

Re: Framework & Code Re-Factoring: Maintaining Quality

taher
Hi Sharan and all,

To all contributors to the project, I highly recommend reading:

- Refactoring: Martin Fowler
- Clean Code: Robert Martin (AKA uncle Bob)
- SOLID principles of OOP
- Test Driven Development (TDD)

I also encourage fellow committers to think of design changes and areas
they dislike in the framework to add to the list in the wiki page. I'm sure
with the combined expertise of everyone we can speed up this project a lot.

Regards,
Taher Alkhateeb

On Friday, 8 April 2016, Pranay Pandey <[hidden email]>
wrote:

> +1 will be extra careful going forward.
>
> Best regards,
>
> Pranay Pandey
> HotWax Systems
> http://www.hotwaxsystems.com/
>
> On Fri, Apr 8, 2016 at 12:36 PM, Sharan-F <[hidden email]
> <javascript:;>> wrote:
>
> > Hi Everyone
> >
> > It's great to see the progress happening on the framework and code
> > re-factoring.  Tasks from our to do list are being picked up and worked
> on,
> > so thank you to everyone involved in this.
> >
> > As this is a code clean-up, I'd really like to emphasize that we need to
> be
> > extra careful because we are changing the way we currently code. This
> means
> > that there is some extra responsibility for the committers in the review
> > process to ensure that the quality of the code going in is an improvement
> > to
> > the existing code (I.e we dont want to commit anything that keeps our
> code
> > untidy or makes it even worse)
> >
> > If we can include stronger quality checks while the re-factoring is going
> > on, we can be sure that we are definitely making and delivering code
> > improvements.
> >
> > What do people think?
> >
> > Thanks
> > Sharan
> >
> >
> >
> >
> > --
> > View this message in context:
> >
> http://ofbiz.135035.n4.nabble.com/Framework-Code-Re-Factoring-Maintaining-Quality-tp4679123.html
> > Sent from the OFBiz - Dev mailing list archive at Nabble.com.
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Framework & Code Re-Factoring: Maintaining Quality

Ron Wheeler
Just a reminder to everyone that there is an ongoing Skype conversation
around the framework refactoring sub-project.
If you are not part of the conversation, please ask to join.

It is not very active so you will not get a lot of notes to read
However, it provides a place where you can quickly get input from the
rest of the team working on the sub-project.

It is a good place to look for feedback or advice before you start to
work on a task or have to make a design choice that may have affects on
other parts of the project.

There is also a much larger group on Skype that is more active that
involves many of those working on OFBiz in general.

You can join these groups even if you are not currently actively
contributing to the project.

That being said, the Skype conversations are not designed to replace the
wiki of the ML so don't forget to confirm decisions or summarize
important discussions in the appropriate official record.

Ron
PS:
Taher's recommended readings are worth a quick read.
Well written.
Lots of good ideas and important reminders about coding practices.


-
On 08/04/2016 8:18 AM, Taher Alkhateeb wrote:

> Hi Sharan and all,
>
> To all contributors to the project, I highly recommend reading:
>
> - Refactoring: Martin Fowler
> - Clean Code: Robert Martin (AKA uncle Bob)
> - SOLID principles of OOP
> - Test Driven Development (TDD)
>
> I also encourage fellow committers to think of design changes and areas
> they dislike in the framework to add to the list in the wiki page. I'm sure
> with the combined expertise of everyone we can speed up this project a lot.
>
> Regards,
> Taher Alkhateeb
>
> On Friday, 8 April 2016, Pranay Pandey <[hidden email]>
> wrote:
>
>> +1 will be extra careful going forward.
>>
>> Best regards,
>>
>> Pranay Pandey
>> HotWax Systems
>> http://www.hotwaxsystems.com/
>>
>> On Fri, Apr 8, 2016 at 12:36 PM, Sharan-F <[hidden email]
>> <javascript:;>> wrote:
>>
>>> Hi Everyone
>>>
>>> It's great to see the progress happening on the framework and code
>>> re-factoring.  Tasks from our to do list are being picked up and worked
>> on,
>>> so thank you to everyone involved in this.
>>>
>>> As this is a code clean-up, I'd really like to emphasize that we need to
>> be
>>> extra careful because we are changing the way we currently code. This
>> means
>>> that there is some extra responsibility for the committers in the review
>>> process to ensure that the quality of the code going in is an improvement
>>> to
>>> the existing code (I.e we dont want to commit anything that keeps our
>> code
>>> untidy or makes it even worse)
>>>
>>> If we can include stronger quality checks while the re-factoring is going
>>> on, we can be sure that we are definitely making and delivering code
>>> improvements.
>>>
>>> What do people think?
>>>
>>> Thanks
>>> Sharan
>>>
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>>
>> http://ofbiz.135035.n4.nabble.com/Framework-Code-Re-Factoring-Maintaining-Quality-tp4679123.html
>>> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>>>


--
Ron Wheeler
President
Artifact Software Inc
email: [hidden email]
skype: ronaldmwheeler
phone: 866-970-2435, ext 102

Reply | Threaded
Open this post in threaded view
|

Re: Framework & Code Re-Factoring: Maintaining Quality

james_sg
In reply to this post by Sharan-F
Hi All,

I would suggest looking though the patches in JIRA before doing the refactoring to avoid the patches becoming obsolete.

Regards,
James

Sharan-F wrote
Hi Everyone

It's great to see the progress happening on the framework and code re-factoring.  Tasks from our to do list are being picked up and worked on, so thank you to everyone involved in this.

As this is a code clean-up, I'd really like to emphasize that we need to be extra careful because we are changing the way we currently code. This means that there is some extra responsibility for the committers in the review process to ensure that the quality of the code going in is an improvement to the existing code (I.e we dont want to commit anything that keeps our code untidy or makes it even worse)

If we can include stronger quality checks while the re-factoring is going on, we can be sure that we are definitely making and delivering code improvements.

What do people think?

Thanks
Sharan
Reply | Threaded
Open this post in threaded view
|

Re: Framework & Code Re-Factoring: Maintaining Quality

Jacques Le Roux
Administrator
That's words of wisdom!

Thanks James

Jacques

Le 09/04/2016 02:03, james_sg a écrit :

> Hi All,
>
> I would suggest looking though the patches in JIRA before doing the
> refactoring to avoid the patches becoming obsolete.
>
> Regards,
> James
>
>
> Sharan-F wrote
>> Hi Everyone
>>
>> It's great to see the progress happening on the framework and code
>> re-factoring.  Tasks from our to do list are being picked up and worked
>> on, so thank you to everyone involved in this.
>>
>> As this is a code clean-up, I'd really like to emphasize that we need to
>> be extra careful because we are changing the way we currently code. This
>> means that there is some extra responsibility for the committers in the
>> review process to ensure that the quality of the code going in is an
>> improvement to the existing code (I.e we dont want to commit anything that
>> keeps our code untidy or makes it even worse)
>>
>> If we can include stronger quality checks while the re-factoring is going
>> on, we can be sure that we are definitely making and delivering code
>> improvements.
>>
>> What do people think?
>>
>> Thanks
>> Sharan
>
>
>
>
> --
> View this message in context: http://ofbiz.135035.n4.nabble.com/Framework-Code-Re-Factoring-Maintaining-Quality-tp4679123p4679206.html
> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>
Reply | Threaded
Open this post in threaded view
|

Re: Framework & Code Re-Factoring: Maintaining Quality

james_sg
The result of collective efforts :)

Jacques Le Roux wrote
That's words of wisdom!

Thanks James

Jacques

Le 09/04/2016 02:03, james_sg a écrit :
> Hi All,
>
> I would suggest looking though the patches in JIRA before doing the
> refactoring to avoid the patches becoming obsolete.
>
> Regards,
> James
>
>
> Sharan-F wrote
>> Hi Everyone
>>
>> It's great to see the progress happening on the framework and code
>> re-factoring.  Tasks from our to do list are being picked up and worked
>> on, so thank you to everyone involved in this.
>>
>> As this is a code clean-up, I'd really like to emphasize that we need to
>> be extra careful because we are changing the way we currently code. This
>> means that there is some extra responsibility for the committers in the
>> review process to ensure that the quality of the code going in is an
>> improvement to the existing code (I.e we dont want to commit anything that
>> keeps our code untidy or makes it even worse)
>>
>> If we can include stronger quality checks while the re-factoring is going
>> on, we can be sure that we are definitely making and delivering code
>> improvements.
>>
>> What do people think?
>>
>> Thanks
>> Sharan
>
>
>
>
> --
> View this message in context: http://ofbiz.135035.n4.nabble.com/Framework-Code-Re-Factoring-Maintaining-Quality-tp4679123p4679206.html
> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>
Reply | Threaded
Open this post in threaded view
|

Re: Framework & Code Re-Factoring: Maintaining Quality

taher
In reply to this post by Ron Wheeler
Hello everyone,

We already discussed in detail the best practices and guidelines for
refactoring (review the rest of this thread).

I am writing this email instead to focus on an important point that I'm
noticing in the code base and the refactoring exercise. Forget all the
details for a moment and focus on this one guiding principle: _Code should
be clear_

What this means is that the code you wrote is done with care and love.
Method names clearly explain what they're supposed to do. Your code starts
at high level and goes down to details. I can read it like a story, it
makes sense, it's easy on the eyes, You can almost say It's boring.

One of the best ways to confuse other developers is to have hidden state.
You declare a global variable and manipulate it in a 100 different places
in your code and it's not even passed to those places, you just yank it!

Another place which is badly implemented in many places in ofbiz is methods
(functions). All the below guidelines can improve these methods:
- The names should reflect intention. It's much better to name something
like retrievePersonDetails(...) than retrieveStringList(...)
- They should be small enough to fit in your screen, preferably even
shorter.
- They should do _only one thing_. Don't fetch data, validate it, and then
send it to the screen all in one place. Each one of those things is a
function, and then you can combine them in one master function or object.
- They should be at the same level of abstraction (don't mix high level
stuff with details)

Food for thought for those interested.

Taher Alkahteeb

On Fri, Apr 8, 2016 at 3:58 PM, Ron Wheeler <[hidden email]>
wrote:

> Just a reminder to everyone that there is an ongoing Skype conversation
> around the framework refactoring sub-project.
> If you are not part of the conversation, please ask to join.
>
> It is not very active so you will not get a lot of notes to read
> However, it provides a place where you can quickly get input from the rest
> of the team working on the sub-project.
>
> It is a good place to look for feedback or advice before you start to work
> on a task or have to make a design choice that may have affects on other
> parts of the project.
>
> There is also a much larger group on Skype that is more active that
> involves many of those working on OFBiz in general.
>
> You can join these groups even if you are not currently actively
> contributing to the project.
>
> That being said, the Skype conversations are not designed to replace the
> wiki of the ML so don't forget to confirm decisions or summarize important
> discussions in the appropriate official record.
>
> Ron
> PS:
> Taher's recommended readings are worth a quick read.
> Well written.
> Lots of good ideas and important reminders about coding practices.
>
>
> -
> On 08/04/2016 8:18 AM, Taher Alkhateeb wrote:
>
>> Hi Sharan and all,
>>
>> To all contributors to the project, I highly recommend reading:
>>
>> - Refactoring: Martin Fowler
>> - Clean Code: Robert Martin (AKA uncle Bob)
>> - SOLID principles of OOP
>> - Test Driven Development (TDD)
>>
>> I also encourage fellow committers to think of design changes and areas
>> they dislike in the framework to add to the list in the wiki page. I'm
>> sure
>> with the combined expertise of everyone we can speed up this project a
>> lot.
>>
>> Regards,
>> Taher Alkhateeb
>>
>> On Friday, 8 April 2016, Pranay Pandey <[hidden email]>
>> wrote:
>>
>> +1 will be extra careful going forward.
>>>
>>> Best regards,
>>>
>>> Pranay Pandey
>>> HotWax Systems
>>> http://www.hotwaxsystems.com/
>>>
>>> On Fri, Apr 8, 2016 at 12:36 PM, Sharan-F <[hidden email]
>>> <javascript:;>> wrote:
>>>
>>> Hi Everyone
>>>>
>>>> It's great to see the progress happening on the framework and code
>>>> re-factoring.  Tasks from our to do list are being picked up and worked
>>>>
>>> on,
>>>
>>>> so thank you to everyone involved in this.
>>>>
>>>> As this is a code clean-up, I'd really like to emphasize that we need to
>>>>
>>> be
>>>
>>>> extra careful because we are changing the way we currently code. This
>>>>
>>> means
>>>
>>>> that there is some extra responsibility for the committers in the review
>>>> process to ensure that the quality of the code going in is an
>>>> improvement
>>>> to
>>>> the existing code (I.e we dont want to commit anything that keeps our
>>>>
>>> code
>>>
>>>> untidy or makes it even worse)
>>>>
>>>> If we can include stronger quality checks while the re-factoring is
>>>> going
>>>> on, we can be sure that we are definitely making and delivering code
>>>> improvements.
>>>>
>>>> What do people think?
>>>>
>>>> Thanks
>>>> Sharan
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>>
>>>>
>>> http://ofbiz.135035.n4.nabble.com/Framework-Code-Re-Factoring-Maintaining-Quality-tp4679123.html
>>>
>>>> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>>>>
>>>>
>
> --
> Ron Wheeler
> President
> Artifact Software Inc
> email: [hidden email]
> skype: ronaldmwheeler
> phone: 866-970-2435, ext 102
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Framework & Code Re-Factoring: Maintaining Quality

Ron Wheeler
+1
Words to live by.
Words to review commits by.
The fact that code "works" is only one thing to consider before
accepting the obligation of maintaining it forever.

Ron

On 26/05/2016 2:38 AM, Taher Alkhateeb wrote:

> Hello everyone,
>
> We already discussed in detail the best practices and guidelines for
> refactoring (review the rest of this thread).
>
> I am writing this email instead to focus on an important point that I'm
> noticing in the code base and the refactoring exercise. Forget all the
> details for a moment and focus on this one guiding principle: _Code should
> be clear_
>
> What this means is that the code you wrote is done with care and love.
> Method names clearly explain what they're supposed to do. Your code starts
> at high level and goes down to details. I can read it like a story, it
> makes sense, it's easy on the eyes, You can almost say It's boring.
>
> One of the best ways to confuse other developers is to have hidden state.
> You declare a global variable and manipulate it in a 100 different places
> in your code and it's not even passed to those places, you just yank it!
>
> Another place which is badly implemented in many places in ofbiz is methods
> (functions). All the below guidelines can improve these methods:
> - The names should reflect intention. It's much better to name something
> like retrievePersonDetails(...) than retrieveStringList(...)
> - They should be small enough to fit in your screen, preferably even
> shorter.
> - They should do _only one thing_. Don't fetch data, validate it, and then
> send it to the screen all in one place. Each one of those things is a
> function, and then you can combine them in one master function or object.
> - They should be at the same level of abstraction (don't mix high level
> stuff with details)
>
> Food for thought for those interested.
>
> Taher Alkahteeb
>
> On Fri, Apr 8, 2016 at 3:58 PM, Ron Wheeler <[hidden email]>
> wrote:
>
>> Just a reminder to everyone that there is an ongoing Skype conversation
>> around the framework refactoring sub-project.
>> If you are not part of the conversation, please ask to join.
>>
>> It is not very active so you will not get a lot of notes to read
>> However, it provides a place where you can quickly get input from the rest
>> of the team working on the sub-project.
>>
>> It is a good place to look for feedback or advice before you start to work
>> on a task or have to make a design choice that may have affects on other
>> parts of the project.
>>
>> There is also a much larger group on Skype that is more active that
>> involves many of those working on OFBiz in general.
>>
>> You can join these groups even if you are not currently actively
>> contributing to the project.
>>
>> That being said, the Skype conversations are not designed to replace the
>> wiki of the ML so don't forget to confirm decisions or summarize important
>> discussions in the appropriate official record.
>>
>> Ron
>> PS:
>> Taher's recommended readings are worth a quick read.
>> Well written.
>> Lots of good ideas and important reminders about coding practices.
>>
>>
>> -
>> On 08/04/2016 8:18 AM, Taher Alkhateeb wrote:
>>
>>> Hi Sharan and all,
>>>
>>> To all contributors to the project, I highly recommend reading:
>>>
>>> - Refactoring: Martin Fowler
>>> - Clean Code: Robert Martin (AKA uncle Bob)
>>> - SOLID principles of OOP
>>> - Test Driven Development (TDD)
>>>
>>> I also encourage fellow committers to think of design changes and areas
>>> they dislike in the framework to add to the list in the wiki page. I'm
>>> sure
>>> with the combined expertise of everyone we can speed up this project a
>>> lot.
>>>
>>> Regards,
>>> Taher Alkhateeb
>>>
>>> On Friday, 8 April 2016, Pranay Pandey <[hidden email]>
>>> wrote:
>>>
>>> +1 will be extra careful going forward.
>>>> Best regards,
>>>>
>>>> Pranay Pandey
>>>> HotWax Systems
>>>> http://www.hotwaxsystems.com/
>>>>
>>>> On Fri, Apr 8, 2016 at 12:36 PM, Sharan-F <[hidden email]
>>>> <javascript:;>> wrote:
>>>>
>>>> Hi Everyone
>>>>> It's great to see the progress happening on the framework and code
>>>>> re-factoring.  Tasks from our to do list are being picked up and worked
>>>>>
>>>> on,
>>>>
>>>>> so thank you to everyone involved in this.
>>>>>
>>>>> As this is a code clean-up, I'd really like to emphasize that we need to
>>>>>
>>>> be
>>>>
>>>>> extra careful because we are changing the way we currently code. This
>>>>>
>>>> means
>>>>
>>>>> that there is some extra responsibility for the committers in the review
>>>>> process to ensure that the quality of the code going in is an
>>>>> improvement
>>>>> to
>>>>> the existing code (I.e we dont want to commit anything that keeps our
>>>>>
>>>> code
>>>>
>>>>> untidy or makes it even worse)
>>>>>
>>>>> If we can include stronger quality checks while the re-factoring is
>>>>> going
>>>>> on, we can be sure that we are definitely making and delivering code
>>>>> improvements.
>>>>>
>>>>> What do people think?
>>>>>
>>>>> Thanks
>>>>> Sharan
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>>
>>>>>
>>>> http://ofbiz.135035.n4.nabble.com/Framework-Code-Re-Factoring-Maintaining-Quality-tp4679123.html
>>>>
>>>>> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>>>>>
>>>>>
>> --
>> Ron Wheeler
>> President
>> Artifact Software Inc
>> email: [hidden email]
>> skype: ronaldmwheeler
>> phone: 866-970-2435, ext 102
>>
>>


--
Ron Wheeler
President
Artifact Software Inc
email: [hidden email]
skype: ronaldmwheeler
phone: 866-970-2435, ext 102

Reply | Threaded
Open this post in threaded view
|

Re: Framework & Code Re-Factoring: Maintaining Quality

Sharan-F
In reply to this post by taher
Hi Taher

Thanks for sharing and I know it's coming from going through some tough code interpreting experiences. Have these ideas been captured in our best coding practises?

Thanks
Sharan
Reply | Threaded
Open this post in threaded view
|

Re: Framework & Code Re-Factoring: Maintaining Quality

taher
hi Sharan

I think code clarity was not emphasized in the guidelines. but I would
prefer to put it at the top of the page in bold headers.

Really I think we should stop thinking of our selves as ninja coders and
more like poets and writers. Contrary to common belief coding is a very
social activity and when you write beautiful clear code you are showing
appreciation and respect to your fellow programmers.

I don't know how to put that last part in the guidelines :) but this is
definitely from the heart.

Taher Alkhateeb

On Thursday, 26 May 2016, Sharan-F <[hidden email]> wrote:

> Hi Taher
>
> Thanks for sharing and I know it's coming from going through some tough
> code
> interpreting experiences. Have these ideas been captured in our best coding
> practises?
>
> Thanks
> Sharan
>
>
>
> --
> View this message in context:
> http://ofbiz.135035.n4.nabble.com/Framework-Code-Re-Factoring-Maintaining-Quality-tp4679123p4681679.html
> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>