Effective PyCharm Transcripts
Chapter: The Editor
Lecture: Code intentions - light bulb moments
Login or
purchase this course
to watch this video and the rest of the course contents.
0:00
One of the powerful things that PyCharm does is it creates code for us.
0:04
It guides us as we're creating new code.
0:07
Even if we don't have that code written yet.
0:09
We saw that it helps us work with existing packages and other libraries,
0:13
but it also will help us create code in a really quick and efficient way.
0:17
So for example, we're working with this data access layer.
0:20
It has a find user by email that works great.
0:22
But maybe we want to, once we find the user change the email now we
0:27
can't just set it on the user object because we want to actually have that user
0:31
saved back to the database or something like that sent over an API So we want
0:35
to write a function for it.
0:37
So we just write what we wish existed.
0:40
Data dot change email and we pass in the arguments and we get this light bulb
0:45
moment. So here you can see PyCharm is telling us,
0:48
hey, hey, hey, this doesn't really exist.
0:51
And if you run it it's going to crash or if you 'Alt' hit enter,
0:55
I will actually create that code for you.
0:57
So if we hit enter, we get this dropdown of options,
1:00
we could ignore certain things. Could suppress this warning for others.
1:04
But what we want in this case is to create the function change email.
1:08
Not here, but in the 'data.py' module we hit okay boom,
1:13
it takes us right over there and it navigates us through the elements that we've got
1:16
to fill out, guessing that it's user and new address.
1:20
Super, Super cool there so some of the things we can do with these code
1:24
intentions is what we just described,
1:26
creating something from a usage like a method or a class.
1:30
You can do quick fixes as we saw with our service module in our opening demo
1:34
we went to work with it,
1:36
it existed but it wasn't imported so it wouldn't work.
1:39
So PyCharm was happy to write import service at the top and even went further and
1:44
said we will import and install other way around install and then import requests.
1:50
It also do Micro-refactoring sometimes it sees things that can do slightly better and
1:54
it's like you know, we could say for example remove the unneeded parentheses or change
1:59
the way that the string formatting looks and so on.
2:02
It will remove dead code like if there's a parameter that's not being used or variable
2:07
that's not being used, it will help you with that.
2:09
It checks for Pep 8 violations.
2:12
Sometimes it'll fix it often. Just a reformat code will fix it but not always
2:16
It'll look for performance issues,
2:19
it'll find python 2 to 3 mismatches,
2:21
package maintenance items and so on.
2:23
So keep your eye out for those little lightbulb moments because that's PyCharms saying there's
2:28
something going on that's not quite right and I can make it a lot better with minimal effort for you.