473,378 Members | 1,470 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,378 software developers and data experts.

Bicycle Repair Man usability

Are there any Bicycle Repair Man users here? I recently got PyDev for
Eclipse, which comes with BRM. I am disappointed with what I've seen,
although I'm not sure if I'm using its full functionality. According to
PyDev's documentation, this is what one can do:

-Rename a function/variable
-Block of code --> method and a method call
-Get rid of extra variables by shifting them inline (e.g.:
a=1;b=2;c=a+b --> c=1+2)

I'm not aware of anything else that can be done, as BRM's documentation
is extremely thin. Is anyone else aware of other uses?

It's a shame this project is not active; it seems like such a great
idea.

Rex

Aug 30 '05 #1
4 1786
Rex Eastbourne enlightened us with:
Are there any Bicycle Repair Man users here?
I am.
I recently got PyDev for Eclipse, which comes with BRM.
I use it from VIM.
I am disappointed with what I've seen, although I'm not sure if I'm
using its full functionality.
Why would it need more functionality?
-Rename a function/variable
-Block of code --> method and a method call
That seems nice to me.
-Get rid of extra variables by shifting them inline (e.g.:
a=1;b=2;c=a+b --> c=1+2)


This is already excess functionality IMO. If you're programming like
this and you want it to be replaced by 'c=1+2', you need to learn how
to properly write software. No tool will help you in that. But hey,
that's just my opinion. And I think it should be 'c=3' anyway ;-)

Sometimes I use constructs as 'a, b = 1, 2' and 'c = a+b', but that's
intensional. In such a case, 'a' and 'b' are settings that easily need
to be edited, and 'c' is just a calculation on them. In such a case, I
don't want to see 'c = 3' in my code.

I use BRM if I need to rename a function or variable, and that's about
it. I do the rest by hand faster than I can figure out how to use
additional software.

Sybren
--
The problem with the world is stupidity. Not saying there should be a
capital punishment for stupidity, but why don't we just take the
safety labels off of everything and let the problem solve itself?
Frank Zappa
Aug 31 '05 #2

Sybren Stuvel wrote:
-Get rid of extra variables by shifting them inline (e.g.:
a=1;b=2;c=a+b --> c=1+2)


This is already excess functionality IMO.


I don't think that Rex talked about his programming style but about
three and only three refactoring methods survived in BRM from ~30
Fowler described in his book. By the way I can't remember the one you
picked up but I remember the reverse i.e. introducing intermediate
variable names for readability and debugging purposes.

Instead of writing f(g(h(...))) it is sometimes adaequate to write

x = h(...)
f(g(x))

I use this a lot in particular in C++. Optimzing compilers eliminate
runtime penalties. This is of course different in CPython.

In case of BRM I'm not sure why it is particular hard to implement
"Move Method" for instance? BRM is shipped with a lot of testcases
which is good but neither defines requirements nor leads a discussion
about refactoring methods in Python. Needless to say that the code is
not well documented.

Kay

Aug 31 '05 #3
Kay Schluehr wrote:
Instead of writing f(g(h(...))) it is sometimes adaequate to write

x = h(...)
f(g(x))

I use this a lot in particular in C++. Optimzing compilers eliminate
runtime penalties. This is of course different in CPython.


if "x" is a local variable, the penality isn't that huge:

$ timeit "id(len(str(0)))"
1000000 loops, best of 3: 0.911 usec per loop

$ timeit "x = str(0); id(len(x))"
1000000 loops, best of 3: 0.968 usec per loop

globals are slower:

$ timeit -s "global x" "x = str(0); id(len(x))"
1000000 loops, best of 3: 1.26 usec per loop

</F>

Aug 31 '05 #4
Sybren Stuvel schrieb:
I use BRM if I need to rename a function or variable, and that's about
it. I do the rest by hand faster than I can figure out how to use
additional software.


Sounds like "I can walk from Aachen to Cologne faster than figure
out how to drive a car" ;) I don't know BRM nor any other refactoring
tool but for a thorough decision one would have to know the ratio

time(learningTool)/time(doingByHand)

to calculate the break even point in terms of number(doingByHand).

--
-------------------------------------------------------------------
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n'.decode('base64')
-------------------------------------------------------------------
Aug 31 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

9
by: Barbara de Zoete | last post by:
I am getting more and more confused as to the meaning of the words 'accessibility' and 'usability' *in the context of the world wide web*. What do these two words mean? How do they differ from one...
4
by: bissatch | last post by:
Hi, I am a web designer and have just recently took up the position of web marketer for a company managing their intranet and external website. I was interested in a book that provided good tips...
0
by: usable_us | last post by:
Hello, Oracle's Usability group will be conducting an incentive-based two hour usability activity. (This is not a job posting but an invitation to a two hour activity) This email was not...
2
by: Rex Eastbourne | last post by:
Are there any Bicycle Repair Man users here? I recently got PyDev for Eclipse, which comes with BRM. I am disappointed with what I've seen, although I'm not sure if I'm using its full...
4
by: Peteroid | last post by:
Recently, and for reasons I don't know, the project I was working on started to compile either very slowly, or it was locking up. So, I repaired VS C++.NET 2005 Express via 're-installing' it...
11
by: ritenah | last post by:
I am running this command from a .bat file. "C:\pathToAccess\MSACCESS.EXE" "C:\pathToDatabase\db.mdb" /REPAIR Database repairs as expected, then shows the messge: "Successfully repaired the...
0
by: yellowalienbaby | last post by:
Hi, I'm trying to get bicycle repair man to work with idle. I have installed repair man, and pasted the few entries needed into the config-extensions.def, but when i edit a module with idle i...
0
by: YellowFin Announcements | last post by:
Introduction Usability and relevance have been identified as the major factors preventing mass adoption of Business Intelligence applications. What we have today are traditional BI tools that...
2
by: Ron | last post by:
Hi All, Using WinXP pro/Access 2000. I have a database that's been used for about 5 months. Transferred lots of data from a dos based program, then the users have been using it for that 5...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.