Skip to main content

Home/ Groups/ SoftwareEngineering
51More

Preemptive commit comments | Arialdo Martini - 0 views

  • Tell me what the software does
    • kuni katsuya
       
      tell me how the software should *behave*, not how the behavior was *implemented* ie. describe the changes in this commit from the behavioral perspective rather than implementation details
  • What is the project behavior, in this snapshot?
  • What did the programmers, in order to produce this snapshot?
  • ...43 more annotations...
  • committing comments describing the
  • behavior of the software,
  • rather than the
  • implementation or a description of what we did
  • commits’ comments started to look like BDD’s methods name: a description of a behavior.
  • principles
  • Talk about the feature, not about yourself
  • Don’t refer to the past
  • I know it’s now
  • list of benefits
  • More focus while developing
  • Commit review is much easier
  • Less cognitive load
  • You learn commenting much more precisely
  • commit comment becomes a
  • declaration of intent
  • like a BDD method name
  • No more “Just a fix“, “Improvements” or “I made this, this, this and also this” comments.
    • kuni katsuya
       
      BDD/TDD or any methodology aside, these are the worst commit comments as they are as useless as empty commit comments
  • Each preemptive comment triggers a micro design session
  • A preemptive comment sets a micro goal
    • kuni katsuya
       
      which also aligns well with the 'micro goal' or incremental deliverables approaches of most agile methodologies 
  • helps to focus a goal to be reached
  • Without preemptive comments, I often went on coding, always asking myself: “Should I commit now? Have I reached a stable state which I could consider a good commit?“
  • define micro-goals through preemptive comments
  • macro-goal through the feature branch name
  • A preemptive comment creates a little timebox
    • kuni katsuya
       
      similar to the timeboxing strategy of a short sprints, for instance
  • Writing comments preemptively puts the agreement between the pair members to a test
    • kuni katsuya
       
      more relevant to methodologies using pair programming
  • commit history gains a very balanced granularity
  • feature branch becomes a collection of evolutionary commits each of which has usually a 1:1 binding with tests
  • very easy to find which commit introduced a bug, since each commit is related to a single new goal/feature
  • Preemptive commit comments
  • Rule #2: write what the software
  • I started taking a lot of care of the words I was using in comments, commits, test names and classes/variables/methods’ names
  • be supposed to do,
  • not what you did
  • should
  • Introducing BDD
  • began with the simple attempt to replace the world
  • “should“
  • “test”
  • with the world
  • Rule #1: write commit comments before coding
  • use the same criteria for my commits’ comments as well.
  • (not what you did)
1More

ddd-cqrs-base-project - DDD-CQRS Base Project Using Spring and Hibernate (Manage Comple... - 0 views

  • ddd-cqrs-base-project DDD-CQRS Base Project Using Spring and Hibernate (Manage Complexity Simply)
7More

Composite pattern - Wikipedia, the free encyclopedia - 0 views

  • Motivation
  • tree-structured data
  • interface that allows treating complex and primitive objects uniformly
  • ...3 more annotations...
  • a composite is an object designed as a composition of one-or-more similar objects, all exhibiting similar functionality
  • can manipulate a single instance of the object just as you would manipulate a group of them
  • when clients should ignore the difference between compositions of objects and individual objects
  •  
    Motivation
3More

OpenTravel Forum - 0 views

  • Standard Hotel Room Types?
  • not been able to find information about standard room types
  • OpenTravel schema allows for a RoomTypeCode to be passed, but it is simply a string length of 1 to 16 characters to be able to accommodate the plethora of room type codes that are in use
5More

OpenTravel Forum - 0 views

  • OpenTravel Codes in Schema
  • If you are an inventory supplier, you would reference a rate plan code known to your system, such as “DELUXE” or “Deluxe Room”
  • RoomTypeCode
  • ...2 more annotations...
  • assigned by the inventory supplier
  • If you are not a supplier, you need to work with your supplier trading partners to get a list of room types supported by their CRS (central reservation system) or PMS (property management system.)
17More

Adobe Marketing Cloud - 0 views

1More

Introduction to Flex and AIR Testing with FlexMonkey - 0 views

  • Introduction to Flex and AIR Testing with FlexMonkey
9More

Java Time API Now In Java 8 - 0 views

  • Java Time API Now In Java 8
  • package java.time
  • Java Time Javadoc draft
  • ...6 more annotations...
  • All the Java Time classes are immutable and thread-safe
  • based on the ISO 8601 calendar system
  • API also has classes for clocks, periods and durations, and enums for month and day-of-week
  • It is recommended whenever possible, to use a simpler classes
  • without a time zone to model the domain
  • time zone added only at the user interface layer
12More

List of unit testing frameworks - Wikipedia, the free encyclopedia - 0 views

12More

Page - Facebook Developers - 0 views

2More

Page - Facebook Developers - 0 views

  • picture
    • kuni katsuya
       
      are these params mutually exclusive? ie. provide source photo's url (image that exists on the interweb) OR form-data (uploading from desktop)
« First ‹ Previous 121 - 140 of 1272 Next › Last »
Showing 20 items per page