Category Archives: Developers

Coding Style and API Design

Once in a while, there are really interesting blogs, presentations and reports about how to do things right as software developer. This is a quick list of links about API design and coding style:

  1. Designing Qt-Style C++ APIs (Qt4), by Matthias Ettrich, 2005
  2. API Design Principles, extended version of (1), Qt Developer Network (Nokia)
  3. The Little Manual of API Design, an in-depth summary of (1) and (2), Jasmin Blanchette, 2008 (Nokia)
  4. Developing Quality Libraries, presentation of (1)-(3) on the Desktop Summit in Gran Canaria, Oliver Goffart, 2009
  5. How to Design a Good API and Why It Matters, Joshua Bloch, 2007 (Google)
  6. Qt Coding Style, good coding style not limited to Qt, Qt Developer Network (Nokia)
  7. Guidelines for KDE Development, similar to e.g. (6), KDE Techbase
  8. Hall of API Shame: Boolean Trap, Ariya Hidayat, 2011

Thanks to all the authors for sharing & happy reading! Updates

After adding the new design to the Kate homepage, I got some feedback about broken fonts and other stuff. Most should be fixed now, e.g. the “The Team” page now looks kind of okay again.

In addition, we now have some nice feed display with the latest commits and overall a bit cleanup page. For mobile devices, like my Android phone, we now have WPtouch installed, which provides some rather nice layout for small screens (but allows easy switch back to normal layout, too).

If you have any additional comments, what could be changed, just write me a comment or a mail.

The (GSoC) season is ending…

Hi everyone!

So… this GSoC season came to its end. This week is the official deadline for the projects and, happily, my project is done, but my collaboration with Kate is just starting, so I’ll see you around :)
As I mentioned in the previous post, I used this last week for some fine tuning and to close the bugs that slipped the previous scan. The folding-related bugs remained on are highlight related too, so I can’t do much about them. The folding submenu was changed, so we can add more features into the feature. You can find the old and the new folding’s submenus in this article. You can see that the new folding has new features and it’s more flexible. Now you can fold/unfold a specific level entirely, or you can fold/unfold the node that contains the cursor. I have one regret regarding these new features: we couldn’t find some key-shortcuts for them :(

The last feature added is: collapse all multi-line comments. This was a wish from I couldn’t solve it entirely (to collapse all comments at once) because, as you might know from my previous articles, Kate’s folding is based on Kate’s highlight; it doesn’t have its own parser. There is no highlight for single-line comments, so we can’t fold them. But I hope this will help too (it might prove very useful in large XML files for example).
Another cool (new feature) is remembering the folded lines. I don’t remember having talked about it so far. :)
What does that mean? Well, if you work hard to fold a lot of lines and you accidentally close your file, you don’t have to take it over again. All the folded nodes remain folded when you close/open a file or when you reload it. Pretty nice, don’t you think ? ;)
The new folding will probably be included in version 4.8. For now, you can use it if you download Kate’s sources and compile them.
Finally, I would like to thank you guys for supporting me and my project and if you didn’t use Kate’s new code folding, then get the last sources, compile them and let the magic begin! :P