00:0.04 As we were working through our programs,
00:1.78 you saw these little squiggly line up and one of the things that's really neat about
00:6.72 the python ecosystem is we have codified rules for basic formatting.
00:12.21 It doesn't talk about everything you should do.
00:14.12 But the basic stuff like how much space should be between functions and how should you
00:19.78 have spaces between the parameters and the commas that separate them and all that.
00:23.86 And this called pep 8. Python Enhancement Proposal eight.
00:27.38 It's one of the early ones.
00:29.34 PyCharm knows about this of course and it enforces these rules.
00:33.05 For example, here change email is supposed to have two blank lines between the function
00:37.38 above it find user by email.
00:40.34 Well, it would be nice if not only telling us about the problems if as
00:44.59 much as possible. PyCharm will just fix it and guess what it will 
00:49.31 just reformat the code and you can even see here it says reformat the file
00:53.33 option shift, enter boom. Off it goes.
00:58.25 And then you can see it's actually added those two spaces and fixed it.
01:1.84 So you can do command+Alt+l or ctrl+alt+l depending on your key map.
01:6.54 Now there are times where it won't automatically fix it will tell you about pep8 violations
01:11.25 but it won't fix it. So imagine change email didn't have the underscore and the
01:15.38 e of email is capitalized that also is a pep8 violation when you have these compound
01:21.31 words you're supposed to separate them with underscore in the function and variable names are supposed
01:27.28 to be lower case so that would come up with squiggles.
01:30.4 But control this command alt L this reformat the code would not fix it.
01:36.05 It wouldn't fix it because that would be a breaking change for anyone consuming this library
01:39.98 And this is a package.
01:41.92 You've uploaded to PyPI
01:43.25 And you just reformat the code to magically fix it.
01:46.06 You might have made a breaking change for everyone who's used it previously and that would
01:49.94 be not good. So sometimes it just warned you about pep8.
01:54.0 Other times like this where it has no actual effect in terms of how the code
01:58.18 works like spaces and so on,
02:0.74 it will just fix it for you automatically. Cleverly.
