[Python-ideas] Custom Code Folding: Standardized Rules and Syntax?
Rhodri James
rhodri at kynesim.co.uk
Mon Jul 17 07:11:24 EDT 2017
On 16/07/17 16:15, Steven D'Aprano wrote:
> Hi Connor, and welcome!
>
> On Sun, Jul 16, 2017 at 10:37:26AM -0400, Connor Farrell wrote:
>> Background: I work in scientific computing and use Community Pycharm IDE.
>> In the end, I end up with very well folded code (except for large parameter
>> lists) and a bunch of co-workers asking about all the "editor-fold"
>> comments that don't work in their API.
>
> I'm afraid I'm not understanding you here either. What's an
> "editor-fold" comment? What do they mean by API? API for which
> application? How does the programming interface to an application relate
> to code folding in a text editor?
The usual mechanism for folding (in those editors that don't think they
know best) is to delimit them with comments that start with a particular
sequence of characters. You might have:
class Shrubbery:
def __init__(self, size, planting, rockery=False):
# {{{ Boring bits you don't need to see
self.size = size
self.rockery = rockery
# }}}
self.cost = complicated_function_of(planting)
...and so on.
>> Python was a trail-blazer in terms of emphasizing the importance of code
>> readability and effective syntax. I think that we should consider some sort
>> of standard for folding comments, if not only to promote stronger code
>> organizations. I know standards don't usually interact with IDEs, but hey,
>> the 'typing' module is pretty dang nice.
>>
>> TL;DR: Code folding is great, custom code folding is great, let's upgrade
>> it to a language feature.
>
> What does that even mean? Are you suggesting that the Python interpreter
> should raise a SyntaxError or something if your code was written in an
> editor that didn't support code folding? How would it know?
>
> Python is a programming language. The source code is text. I should be
> able to write Python code in NotePad if I want. Why should the Python
> core devs try to force every text editor and IDE fold code exactly the
> same way? That sounds awful to me. People choose different editors
> because they like different features, and that may include the
> particular way the editor folds code. Or to not fold it at all.
>
> I'm sorry to be so negative, but I don't understand your proposal, and
> the bits that I *think* I understand sound pretty awful to me. Perhaps
> you can explain a bit better what you mean and why it should be a
> language feature, apart from "I want everyone to lay out their source
> code the way I do". Because that's what it sounds like to me.
I think I do understand the proposal, but I still agree with Steven.
Folding is a feature of IDEs, not languages, and trying to legislate
about it in a language definition is a bad plan. I say this as someone
who wrote a folding editor to make programming in Occam bearable :-)
--
Rhodri James *-* Kynesim Ltd
More information about the Python-ideas
mailing list