France, Python, Five Percent discussed on The Python Podcast.__init__

Automatic TRANSCRIPT

Improvements. The it's the contrast with what's out there is so very close of things like same pipe bomb you can. It helps you to refactoring. You can kind of selective say extract method on this. If i know what i wanna do. Are these ideas that can kind of helped me that and streamline that process if you don't know what to do it's not so suggesting that so i suppose threes kind of suggesting fixes to you. You'd have to go in there. But like i want to do some refactoring now. It's like this natural flow. It's just little improvements. See how the class of tools out that things like lynching tools. Oh formatting thing we did as well limiting is often of picking out little not telling you how to fix them so i that becomes split the things you ignore. We kind of keep on. Pippi still have to manually go in and fix things said if it was. It's automatic whenever we suggests we know something we know what magic for. It's kind of speeding up. If i think back to when i was learning i didn't know the tha refactoring have concerts of rewriting cut to improve it. Initially i made after a year or two. Did i stop understand that. This was a possibility. I'm bad i have scout. Learn how to cyrus. Kent beck books. Martin fowler books when out manually learn how stable these things and i found that fascinating but took time with the to serie Give you these refactoring suggestions that teach you how to improve. Cutty got as well. So you need to not actually convey this. Because i will tell you you mentioned things like glinting and do things like extract a method and as you said there. Are things like lenders or there are tools like pipe bomb or rope. That allow you to manually say i want to do this refactoring when you know that. That's something that you want to do so source refits in this category of automated code review automated assistance kind of tools in there a number of other projects that have come out recently in the past few years to offer similar kinds of approaches. So i'm thinking things like kite by know that there are some other sort of automated review tools and automated sort of code completion where they will scan multiple open source. Repository is in use some of the patterns that they find their to suggest structures where the look on different sorts of key words or logical structure is and say you know. Here's a snippet that you might want to us to be able to perform this action that you're trying to achieve morning if you can give a bit of. A comparison of how sorcery fits within this broderick system of services that people might use to act as automatic assistance while they're programming and some of the differences in terms of the goals and priorities of what. You're building with sorcery versus what are available with these. Other systems is completion. Till's like you mentioned this kaya. We're aware of another couple by kc in top nine and all of those help as you're writing the code in the first place. So you're writing line of code. And now completes on floyd sites like your g mail erupting sentence g mouth suggests the rest of the sentence to eat these tools. Exactly the same except for with souls became difference between sorcery. These tight completion tools. Is they help you. Write the line of code. But you're working on sorcery understands the code that you've already written hombre rice it to improve the structure and improve quality as opposed to being during the codes writing off the eucharistic On it gives you the high quality care that lets you know code. Faster feature old detect bunks quicken feature. Improves the readability. The board arrested the completion asks. You don't care about the quality of the cuts that you're writing. They just care about what is the most likely rest of the line of code that you're working on a study that shows you spend maybe five percent of your time actually typing programming and like seventy time reading and trying to understand it so we're coming from the point of view of not trying to speed up typing but try and improve their ability to code taking gun make changes quickly later at readability is already focusing there are also classes of tools the particularly in python but also in other languages that serve to add things slake constraints to what the function is trying to do so like contract driven programming and then there's type in france and things like that and i'm curious how those types of information are able to feed into factoring decisions. That you're making sorcery we use within the Faces high which i really love became quite fond of strong typing when house think scarlet back in the day and wanted to find something so that the by the is really really exceptional. So in terms of the cut out that the majority of kites doesn't actually use hinson type information at the moment so we tend to the assumption. A bicycle of we analyzed one information available to us. So we try to analyze. It expects him at most veda however we do do some type inference within sorcery that helps us these types of refactoring carried hats type incident. And we'll his just more things to know if it had not talking to okay based in ten is definitely leads machines. Another interesting aspect of what you're building. It sorcery is that you both admitted that python is as you came to later in your career and having a much broader background in a number of other languages and i'm curious why you chose to focus on python as both the tool that. You're using to implement sorcery but also the primary language they are focusing on as far as the refactoring that you're providing and we'll your motivation for investing in python language for building your business on it. So interestingly enough it wasn't actually which was the first target for.

Coming up next