Merken

Managing technical debt in (Django) Projects

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
what the about hell out of the and the the the the and and I can think of the mind and the and the the time Chris chain I can me on get the sears the church butter and always see the aurora seems to be a or C C R R because of the male online DB I'm christian too I'm also looking for more Pinterest friends on my incidental on interest I can never get out but a lot of the knowledge and assuring is things I've learned from of on what I'm at the text to the missing a lot the text you bring people around policies on so everyone was a tough talks like this with dictionary definitions wikipedia says typical that can be thought of as work that needs to be done before a particular job can be considered complete were proper and then something gene can serve as it is left unchecked typical debt will ensure that the only work that gets done is unplanned work uh another thing Jingjing concerns about article that is that it's we feel the next time you want to make a change and for me personally to hold that is every you line code and just in case you were curious I checked and burdened dictionary does not have to definition for 2 2 they also think it's important to just know about what to do that if he feels like and as we fix 1 but only to create another book and as we get even deliver features anymore because you don't know what repercussions your change will have and you can get so bad where you can even install security badges because you don't know what will break and it's when using a rapid development framework in you can readily developed that's when you hear a lot of it works for me around the office every time you trying to replicate something and pretty much imaging is a does that you build things very quickly but it can also get you into this tackle that trap and the main thing that I learned is that so you don't want to let Django become the scapegoat for a year teams inability to develop new features and the blessing about a that is it's it's
like when everything is on fire all the time and and this is this is your life so but there's no magic trick tips for articling total that's so anyways that isn't a kind of organize them from things you do on your own the things value can do a monster team and finally things that require going outside the team and to the non to tell people in your organization the so what 1st thing is Django testing you should you should do it there's 3 other sessions Agincourt about testing of W. dreams the dreams yesterday you said he would write us today so just do it make your dreams come true just I just don't so when she you tests occurs a lot of times a lot of people just this 1 of my life and the lot of looked and start writing tests in the 1st place so maybe these people and that would help a lot the and something that I was taught was if you're making assumption that's a good sign they Turing test to check that assumption and I can I can see justify not writing a lot as a front like doing TDD all people might consider that premature optimization to be running lot the front but if you're doing that you should do at least be doing regression testing as otherwise man once said that fool me once shame on you fully attentive all again and you'll get you'll sleep better when a good test coverage it's fact so only give an example of 2 senior assumption but let's say I had a function right is 1 deterrent uh as its plus 9 or is it a US portals that I just want the 1st 5 so that's pretty easy I mean it's good stringhalt notes to the 1st 5 but if you look at these examples of set up and never in this as in form of doctests test which I personally don't use but if it's not on the slide is there to see at the at the bottom my assumption that taking the 1st 5 digits falls apart and if you tests than you'll you'll be able catch that and if you don't have a single test here's 1 that's on posted recently that's if you just use a client of local gage and all had facts about that but you'll get the presenters covers distance want us you and and Stanley the thing that I really like it is it is if you like the feature you better writers for it the so coverage is another great tool for just how the discover where usually we're missing tests and a lot of organizations will striving to hunt % coverage but it's more important that you Tessa quality just writing a test to get for example just checking the vehicle method model may may not actually useful you want to find that on your own so some signs that your your tests are crappy so what is it like can other people read and extend your tests will they take your tests and use as a template for their own tests and be happy with that of testing maintain whatever the code is getting maintain or or people doing frustrated because they have to me also maintain the tests and the test described the problem in a way we could throw away the code and people could use the test to rebuild the code is not only the tests but the same could be said about a documentation and maybe even your remain could you throw away all your code and could someone user Remy to reconstruct the entire application another thing that the a big source of potential that is they're rot also known as suffering pre and I think that if not actively touching piece a code it's getting worse just lying around it's also signed for me as a smells organization if you don't have the manpower to actively maintain all of the code and if you're said in the In this kind of learning more about this there's a series of management books called the improvement Carter also known as the to a every time a resource that 0 all I got was much of marketing and seminars ultrasonic something but maybe or that'll works so if you imagine you're the coded Roman organization as as a global are there areas where there's like here the dragons where people don't know what that code is and they don't touch it no 1 knows what it is that's slides on that so everyone authorization knows as much as the code as possible and 1 tool that will help developers be moral more productive and this is continuous integration L 1 quote that I made up the bits of the code it is a test you at least once a month to take less time than it takes to get a cup of coffee there's of post of mostly of the middle time uh there's this guy here that is really great intro to a lot of CI tools some that optically like art Jenkins it for doing stuff yourself traps you is really great if your doing of open source stuff the greater much of the eyes you can even do post yes testing I didn't know you could do that to last year and it's great that free tool that you right Tessa require posters talks is 1 of the great tool it'll help you the run your test suite against different versions of Python and Django just so will the next version ago break my to or not the business case cereal like that is basically tells you whether or not it's worth stopped on the task and here's the here's the opposite if QCD saying
that you should never against so could quality is
also a really basic thing this difference during the senior developer analogy in a developer practice makes perfect always iterate on your code a great thing dealt with this is just working on open source projects keep your code is simple coder requires lest context readers more understandable so by keeping things simple I don't mean keep your feature set as dumb down as possible you can do fancy stuff in your code as long as it's a pattern that's reuse across you could base and that the people you're working with 4 also familiar with with it's for example if you're In Agenda project and you're using panders to do some filtering that may be not be simple but if everyone a team is also a data scientist that maybe the most obvious tool for everyone on the team with avoid still think special snowflake patterns I always choose readability over performance that the tools to catch up to coding style not the other way around like sort Python as being directly executed by a computer anyways Everything is pi bond Haseltine Bolton called import that's it's never right this is the world looks like the supply arises when in anyone else constantly misspells important ideas the 2nd last but import this all just give you this enterprise homage Peters & ICA out because my desk and if you're looking at is a coding wondering which be doing with that it's good to have this in the back to remind you this is an example of 2 ways to do the same thing save interval of objects and I wanna get the instrument actually there I really love functional-style so I personally love using that but every time I do it I encoder my teammates say should this is a list comprehension so it's not ideal comprehension but I could just look at this in but right now and to see which 1 looks more readable to and there's so much discussion around code quality here are some keywords you can look up there's like whether or not comments help or hurt code readability there's also been a electrical complexity the ratings that is the you can quantify readability and few Ferguson something like a Jenkins job you can actually track readable code is over time there's a whole put discussion and pi flexes comics such that and so imagine code review uh code reviews probably at the most practical way that visiting a better what people say the people take too much time review and to give orders like deliver and so the woman and the box more and the big box I don't need to code review are we the pushes topics out recently but we all know the coding pressure is the best it's always always perfect let's say you're you're a team of 1 person can you still do code review you can I yes and what I do what is up all asleep on a change opening a pull request that's all it could offer a view it gives you a new at a new view of the everything you'll discover patterns that word coat widening in the 1 way he appear and change the name down here as soon as you can see it on a commit but committal the you'll deals to catch that on a pull request and if it is what practice because practice with others on open-source project and this coder relatives as are chapter and science so is 1 person sharpens another and that really applies what I think to could could and to do review the do a pull request usually the general rule about poor requests is all people say the best practice report quest is 1 poor request is with 1 change and I'm saying but if you want to reduce total that you should we should ban this role there's something I learned called the boys have several I thought it was do a good turn
daily and wasn't sure what that had to do poor requests and I thought was and be prepared and I wasn't sure how that worked either but it turns out that both scope was that rule is this article from of Robert Baden-Powell legal world a little better than he found and the idea is if you're in the poor quest and go on and you see typos could just go and fix them if you see like little mistakes here and there go ahead and take some wider in the code while the right there for you and the cut this also is if you start having a missile tests was doing this that's a sign that this little change a making is going to be is going to hurt the readability of the of the dense enough of the 4 quest where she leave alone open a ticket we visited later the and could reviews also a lot more than just referring to when Cody should also be making sure that what the code is doing is repeatable so I guess for example that is I wrote this utility last week and I was trying to run it and there was working so I went back to the poor class edited and discover that I was using usually in the complete wrong way but I had a documented in the pull request with the right way to use it was and also along with the code is documentation for example for adding new feature your CMS this uses for that CMS you have to make sure that they know that this change is coming and they know the attached them about the changes that our community it's about and that is also this is this code maintainable this the future adding justify the tuple that that you're adding so for example you may decide to that to get this in the template you use a 10 out of the tag but then during code review you may decide with a 2nd meeting this uses this J. Corey wanted to do the same thing and that's an example of doing like 2 things 1 with it's specifically more typical that than the other and through religious encode review I think Bremen inches beyond that they talk is really great it is the most high to talk that I've ever heard I think and I think justifies and going back to how if something is mentioned this something that I like doing on my pull requests the text should be and that's out at a typical that note and the basis of that it is on fiscal bills arsenical of fiscal and all read the Legislative Budget Board of Texas is about that and just substituting ahead the tactical pull quest version fiscal note is a written estimate of the cost savings revenue gain revenue loss that may result from the petition of requirements in the bill or joint resolution it serves as a tool to help legislators better understand code bill might impact the state budget as a whole individual indices and in some instances local governments since the idea is that we're building code here to make sure that you can deliver over the long term probably the best way to actually really accelerate the code review process is this problem programming it's like a code review but instead of having to wait for someone to comment then you're right next to them and it only takes a few seconds my preferred tools for doing this are to them because the stand message of the class stand or sit and Anderson the on the same you given bills and machine in this case this human is a driver and the cat is a navigator and as also a lot of variation this live learned about I've never tried it but I'm curious about its called ping-pong pair remain and for 1 person right a test the other person implements a test and this what back and forth and the difference 1 difference is that the people on pair programming it's actually isn't process you actually have to be the next to each other so you can do it mean you have as tight as of a few that would as actually being message other but can get close to the true paragraph programming without without the it's also very
important that you just get along with your teammates when you're hiring you should make sure that you only hire people that you go along with the a backup Tribune we assume that once people came to us they were technically proficient and at that point we're just higher than this off of whether or not we would get a lot of Italian and I would say that the the worst coworker ever is is probably passed you so now going outside the organization I mentioned a few times are about any any action to take to get a fast feedback loop over every action every change is something that you you're trying to monitor should learn how to say no I should learn how to brace failure as an organization the you should like to do is try to make myself obsolete I think you should always work like you're training Europe replacements and did you by that is that if automated away all the routine stuff you have to do it frees you up to do the more creative things and can you on vacation or a conference without bring a laptop and as organization you should emit that article that is a problem that way cancer treating to call that as a ticket to be worked on the set of something that is some of the carpet but if you treat pain optical that as a feature that you can actually act upon it but in the hope is actually running under to develop that items as action bold small tasks something like upgrade diversion yeah change this old feud of this new pattern that we started using and something I like doing it is I a religious running a list of difficult that and I use fire for things that our gonna blow up these proved for things that might be publicly embarrassing and then I Uses tuples of God and a change the size the table based on how frustrating it will be to code the solution and and so there's some things about agile even with using agile or not this seems to take away from it the this is it's not just about sprints and tasks but also what I really like about agile is you're always improving the process that you work the and I think a lot of agile is actually just common sense wrapped in marketing jargon so gender gender is great it that you buy things with less typical that I think the the testing from you is the best of the minerals and every time is another framework I wish I was using Django just for the testing it has better is included this less boilerplate to do a lot of the same things and scale up this critical great community it is a Fiji you what's almost as probably already worked on it but I do have some tips some tips 40 with gender 1 is don't customize the jingoism think of the mn as a developer of face not CMS this seems like a lot but to do that to write your own CMS it's based suffer my experience is actually not because when you right extensions to the Django admin what you're doing is you're tightly cap coupling you're admin to something that keeps you from of cringing you in the future because that's what that a government changes that every version and a side benefit is if you write around CMS you often end up with a better use user experience for customers and if you 1 uses a custom an element guess what there is there's hundreds of them this is just a screenshot of Agenda patches packages paid for admin extensions the thinking there is
clean as you cook when you were in a code just pleaded that's what source controls for if you think that is the that you might actually want don't come in and out with a block summit rapid in in a statement because of something that you actually may want to on off off we should treat it like a features which and not like a codebook you can even extend that music something like jingle awful on A B testing framework to actually turn it into a features which and the main thing is if you find something I impetus if you see something say something if you see something terrible make a ticket for a this was not forgotten nothing with Virginia is many things also really important that you talk about this a on Wednesday other names repeating grabbable for example before using S 4 a variable name a finer replace all of this is the best you can have a better time that use unique ethanol aims and remain reason for that is the jingle let you have your namespaces and at Smolensk but there's a few dozen of places where they all come together where it's worth just to try make everything unique and the other thing is make Europe of variables in your test read as if the English x and for example so here is contrived testing sample sample the article and I want a cook a manager that only gives me at once the so at the always required fields so when make article I have to and all these fields the but here's an example is in fact a boy where now my test set up only has what's relevant to the text from which is inactive oracles here have specific the main article that's active and then as opposed to its a certain is in this course not service this article is in this course which reads more like English and the thing by unique names is I really love shall plus which is part of jingo extensions a great thing it does is from 1 line you can start Mr. with objects immediately and if you don't have unique names using shell plus you lose that ability of social class unless you start adding more to that the formations around so close another to but it would have say is avoided janitors client don't use it 14 tests but do use it for integration tests because we use the the test client not only getting a view your in that Ural all rather than request middleware all the parts of you responsible where the context processor and who knows what else ch say avoided model inheritance there is not a plug jingo sections again but GenGO extensions does come with some examples of what should be you will work in abstract this class or a mix and should do this at a time stamp date field the subtitle slot field in that that that are very routine it doesn't do that as an example but you should read the feature that jingle as well Nixon's and then jumped to try news everywhere for what 1 thing only 2 very hard to trace what feels comes from where it and we're jumping around you'll just get lost very quickly another thing is this goes back to Cartagena within something like to do is every time I have for quest I like checking to see what's a date I like bumping yeah In a requirement that it can Of course this only works when you have test coverage the and the other thing you can do is you can you can trade it in purposely get rift article that and purposely give result for that for to we're optimizing for something that I think freed up the work at this real or is something I call talk about future and there are a lot of sections of the site that were frozen and there there's a lot of content the problem is is that this is all content whenever we add a new content it would change all the old content as a as a side effect the the idea was as a way to freeze this content in a way so that we can continue developing without having to worry about what changed and you should reject ask me on and also about how that works and great and after we do that we we deleted so many templates so many CSS as files we could delete so we models after there it was amazing and we are developing future you should decide upfront what you're optimising for is a more important value delivered impish BP as to who is possible awesome work on that this is something that that you can sustain for all for a while I differ started getting the 1st to market is a real thing that that is probably important and buildings of the meeting of all I'm strides amicable and releasing this this this works forage contractors but also works code she decided good fees good faster cheaper it to the Catholic 3 because also pick 1 but the the you wish were doing and so but I'd like to write right practical sometimes my general is of everything to fit in 1 screen code I can make it as scrap is a 1 In fact if this is throwaway code I introduce errors on purpose just to make it look this made obvious because there's nothing worse than finding a peace a code that was hastily written but also has unit tests and documentation and then realizing that the author had no idea what they're doing and was just making stuff up so in preparation for this there's a there's a lot of chill about this that I found I really enjoy so these are actually videos not reading of government to these links to these and if you the school these words you also take your place time here's some realists there is the actual reading uh actually read it a real book in preparation for school the Phoenix project the so your to find that in a bookstore but would look for this book we there and if you can find that book
look for this book the so there's a lot of other similar the traditional suspicions questions about to school that each 1 of these could be their own talk in our talks to visit micro-services smallest there's single responsibility principle now 1 the realized is known about the not invented here responsible or syndrome being aware of the treaty you know 1 of you're acting to become this huge giant mutant and I but insert protamine buzzer here but really it's it's really carrier about the stuff you should look into like go outside tentacle talks and just look at like business strategy and in Proc development so this is my home for you these are the these are all the important things is I think should knew she gets worse where all wonder at work but get frustrated it could constructive I also think it should be as lazy as possible other away as many routine things as possible tried always get a fast feedback loop in any process always be touching on code the treat fixing to show that as a feature clean as you code foster a generally good going culture every at your office remember that everything must be repeatable and plan ahead for the whole life cycle of product and thanks of keep making jingle sausages is a link to the my talk and for some reason you can also run my talk as a about the FIL be OK some questions so when you coding along and you're looking at this code is all building up in inevitably every programmer in the world looks at it goes I mean have to change that we're just knowing we have to change that later but I need to get this out how do you decide is it inevitably syntactical that will build up because of schedule because of lack of information about moment soul but you could in theory stop and take the time to do it the perfect way so they had either we could be readable so how do you make that call it's
column by by many as the most and what like to do so at little McKeown with with to do this and I have what keywords I use the 1 thing that I really like is with become chickens job actually just indexes all the use unit code and contract that over time to thank you questions the you in just a note cut on statements to begin I have a comment about during experience with a wide variety of skill sets where some people are far ahead with newer technology your forehead with more of like jordan where you can be on the same page when move forward yeah having as much overlap as possible is something should strive to do pair programming is the best way to achieve that let's it's a the everyone's different the so it's a real answer is decided to code review and compare programming the what they can I can like that the gossip turn into bikes sharing sessions to which is why initiative with the smallest possible where is where this bit rot come from if they could itself was actually changing and that all the I think the requirements is a good example if you're if you can't but if you freeze your requirements and you never of greater than apple always work but eventually you wanna make a change and you'll discover that it's not backwards compatible the there's this 1 of my links actually talks about at the organizational dead is we probably would article that is wrong when the points he makes is that if coding is left alone it's fine as long as it works and as this this should not too if you've got coalesced around it works out 6 if the interchange it be prepared to throttle can whether things for the talk i really important topic especially for large projects no I wanted to ask you about jangle waffle and an AB testing framework How do you keep something like that from kind of exploding all the branches in your code and like how do you manage all that complexity creates yeah I don't have that much experience with local but the it my own mental planning for that I was side if you can track what's which is readily using and make it a a task to go through and turn dead switches to static code the if you make that a feature that you have to code the plan for I would say that I want to do with that and thanks those and talkers great and I was wondering do you have any tips for how to incentivize did code quality in within team because I find like the stick method is that the much less effective than the power method of like getting developers to buy into this kind of stuff my thought about this is to use box basically if you I did others in the future where you can merge up or request of Smith's criterion now some people just may not listen that's while select the high-level hiring thing is also part of it to this can have got terrible but sometimes it is changes to changes but guy also people may have a hard time listening to the human body of of bot that says that because of this of the Mac but the the code is too high reduce it or could coverage is not there I wanna say that people will be more likely to say about them in the human and thank you very much thank them my own and even if the p and you get
Befehlscode
Computersicherheit
Mathematisierung
Patch <Software>
Framework <Informatik>
Computeranimation
Data Dictionary
Office-Paket
Verkettung <Informatik>
Framework <Informatik>
Prozess <Informatik>
Witt-Algebra
Leitungscodierung
Computersicherheit
Installation <Informatik>
Softwareentwickler
Bildgebendes Verfahren
Vektorpotenzial
Bit
Freeware
Minimierung
Versionsverwaltung
Kartesische Koordinaten
Kontinuierliche Integration
Computeranimation
Monster-Gruppe
Client
Datenmanagement
Softwaretest
Vorzeichen <Mathematik>
Latent-Class-Analyse
Lineare Regression
Code
Entropie
Kontrollstruktur
Metropolitan area network
Softwaretest
Lineares Funktional
Suite <Programmpaket>
Softwareentwickler
Template
Güte der Anpassung
Stellenring
Reihe
Ultraschall
Vorzeichen <Mathematik>
Quellcode
Rechenschieber
Software
Portal <Internet>
Rechter Winkel
Digitalisierer
Maschinenschreiben
Subtraktion
Total <Mathematik>
Selbst organisierendes System
Kombinatorische Gruppentheorie
Code
Task
Open Source
Bildschirmmaske
Informationsmodellierung
Task
Geometrische Frustration
Abstand
Hilfesystem
Autorisierung
Videospiel
Lineare Regression
Konvexe Hülle
Open Source
Kontinuierliche Integration
Mathematisierung
Einfache Genauigkeit
Flächeninhalt
TVD-Verfahren
Einfügungsdämpfung
Krümmung
Prozess <Physik>
Dichte <Physik>
Versionsverwaltung
Computer
Komplex <Algebra>
Computeranimation
Prozess <Informatik>
Vorzeichen <Mathematik>
Code
Mustersprache
Druckertreiber
Schnitt <Graphentheorie>
Analogieschluss
Bildauflösung
Softwaretest
Sichtenkonzept
Template
Gebäude <Mathematik>
Stellenring
Quantifizierung
Kontextbezogenes System
Bitrate
Optimierung
Arbeitsplatzcomputer
Eingebettetes System
Druckverlauf
Verbandstheorie
Rechter Winkel
Projektive Ebene
Computerunterstützte Übersetzung
Message-Passing
Aggregatzustand
Instantiierung
Subtraktion
Total <Mathematik>
Quader
Mathematisierung
Klasse <Mathematik>
n-Tupel
Kolmogorov-Komplexität
Nichtlinearer Operator
Term
Kontextbezogenes System
Code
Open Source
Virtuelle Maschine
Schätzung
Canadian Mathematical Society
Softwareentwickler
Optimierung
Schätzwert
Affine Varietät
Benutzerschnittstellenverwaltungssystem
Open Source
Relativitätstheorie
Zwei
Softwarewerkzeug
Bildauflösung
Mailing-Liste
Schlussregel
Content Management
Quick-Sort
Schlussregel
Objekt <Kategorie>
Druckertreiber
Komplex <Algebra>
Wort <Informatik>
Unternehmensarchitektur
Verkehrsinformation
Schnittstelle
Rückkopplung
Wellenpaket
Punkt
Prozess <Physik>
Selbst organisierendes System
Content Management
Gruppenoperation
Mathematisierung
Versionsverwaltung
n-Tupel
Partielle Differentiation
Element <Mathematik>
Datensicherung
Framework <Informatik>
Computeranimation
Task
Softwaretest
Notebook-Computer
Mustersprache
Canadian Mathematical Society
Biprodukt
Maßerweiterung
Softwareentwickler
Druckertreiber
Softwaretest
Schreiben <Datenverarbeitung>
Zentrische Streckung
Softwareentwickler
Prozess <Informatik>
Codierungstheorie
Textbaustein
Systemverwaltung
Mathematisierung
Sichtenkonzept
Optimierung
Kugelkappe
Software
Menge
Loop
Geschlecht <Mathematik>
Grundsätze ordnungsmäßiger Datenverarbeitung
Notebook-Computer
Versionsverwaltung
Textbaustein
Tabelle <Informatik>
Offene Menge
Objektklasse
Komponententest
Nabel <Mathematik>
Momentenproblem
Desintegration <Mathematik>
Computeranimation
Client
Softwaretest
Gruppe <Mathematik>
Code
Typentheorie
Speicherabzug
Gefrieren
Gerade
Softwaretest
Caching
Koroutine
Namensraum
Befehl <Informatik>
Sichtenkonzept
Datentyp
Reverse Engineering
Gebäude <Mathematik>
Kontextbezogenes System
Biprodukt
Scheduling
Dienst <Informatik>
Verbandstheorie
Einheit <Mathematik>
Lesen <Datenverarbeitung>
Client
Eindeutigkeit
Lesen <Datenverarbeitung>
Fehlermeldung
Faserbündel
Objekt <Kategorie>
Kontrollstruktur
Klasse <Mathematik>
Automatische Handlungsplanung
Content <Internet>
Open Source
Informationsmodellierung
Variable
Reelle Zahl
Endogene Variable
Videospiel
Vererbungshierarchie
Inhalt <Mathematik>
Maßerweiterung
Soundverarbeitung
Videospiel
Vererbungshierarchie
Textbaustein
Datenmodell
Elektronische Publikation
Binder <Informatik>
Einfache Genauigkeit
Middleware
Wort <Informatik>
Zeitzone
Orakel <Informatik>
Resultante
Impuls
Programmiergerät
Prozess <Physik>
Versionsverwaltung
Befreundete Zahl
Videokonferenz
Datenmanagement
Mixed Reality
Zeitstempel
Freier Ladungsträger
Template
Systemaufruf
p-Block
Variable
Datenfeld
Gruppenkeim
Strategisches Spiel
Dateiformat
Projektive Ebene
Garbentheorie
Information
Versionsverwaltung
Prozessautomation
Codebuch
Rückkopplung
Web Site
Ausnahmebehandlung
Gebäude <Mathematik>
Framework <Informatik>
Code
Physikalische Theorie
Task
Stichprobenumfang
Zählen
Geometrische Frustration
Biprodukt
Coprozessor
Softwareentwickler
Transaktionsverwaltung
URL
Touchscreen
Autorisierung
Eindeutigkeit
Einfache Genauigkeit
Objektklasse
Sichtenkonzept
Endogene Variable
Integral
Office-Paket
Objekt <Kategorie>
Loop
Touchscreen
Mereologie
Dreiecksfreier Graph
Modelltheorie
Bit
Punkt
Quader
Mathematisierung
Automatische Handlungsplanung
Komplex <Algebra>
Code
Framework <Informatik>
Homepage
Task
Chatbot
Nichtkommutative Jordan-Algebra
Einheit <Mathematik>
Prozess <Informatik>
Softwareentwickler
Optimierung
Schnitt <Graphentheorie>
Leistung <Physik>
Softwaretest
Befehl <Informatik>
Affine Varietät
Stellenring
Verzweigendes Programm
Binder <Informatik>
Design by Contract
Menge
Automatische Indexierung
Smith-Diagramm
Mereologie

Metadaten

Formale Metadaten

Titel Managing technical debt in (Django) Projects
Serientitel DjangoCon US 2015
Teil 35
Anzahl der Teile 46
Autor Chang, Chris
Mitwirkende Confreaks, LLC
Lizenz CC-Namensnennung 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
DOI 10.5446/32782
Herausgeber DjangoCon US
Erscheinungsjahr 2015
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract We talk about testing, code quality, and coverage. But why? Because we want to spend less time dealing with technical debt and more time creating new technical debt (aka new features). Many times, we think we made the obvious smart decision only to regret it later; you discovered you’re damned if you do, damned if you don’t. Should you write a monolithic app or tangle of microservices? They’re all terrible worlds we’ve made for ourselves. Having maintained, inherited, and created several large Django projects, I hope to share my experience so you don’t have to go through the same pains I did. We’ll start off with a few minutes covering basics like testing, coverage and how they relate to the long term health of a project. Now, everyone knowing the same terminology, we move on to learning to recognize the many early warning signs and smells of excessive technical debt. The most important thing, and most of the material is about setting up the organizational structure for dealing with technical debt: code review, continuous integration, rotating developers (no silos), tradeoffs, making sure you have processes for onboarding new developers, and strategies for documentation. It’s changes like these that end up keeping things moving, not writing “better” code. Finally, we’ll wrap up with a few minutes talking about Django specific tips: don’t customize the admin, tricks for naming things, signals, organizing tests, and more. Much of this comes from my time at The Texas Tribune, where we needed Django projects launched the next day, all while maintaining a 6 year old Django project.

Ähnliche Filme

Loading...