Hi, > Unless something is functionality that you would (virtually) always need, > it’s a separate bead.
So for CCS we have border, does everyone need borders? Why do we only a sub set of the font attributes included? Some people are not going to use all of them or in fact any of them and some other may need other properties so why are they not seperate? Not that I think these should be removed into seperate parts. The issue is just about every feature you can name is going to optional to someone. So I think we near a clearer definition of what PAYG is. Another example why for instance was flexGrow and flexShrink added in to the CSS code? Shouldn't they be implemented in line with the PAYG principal in another class? And there are numerous other examples of this. I feel that PAYG is not being applied consistently and seems selective on who is making the contribution. > PAYG is already well understood IMO it has not been clearly defined. Alex has described in various ways as it size / runtime cost only to move to goal posts. I for one would like a clearer definition of it. > All functionality should be implemented as beads when practical. Beads should > be as modular as possible with the smallest possible functional set. What about the cost of violating DRY or the single responsibility principal which two beads do similar things? Is it really OK to add technical debt / penalise users of a new feature when it would be less cost modifying/improving an existing bead at a much smaller cost? How do you discourage copy paste coding? Thanks, Justin