Giter Site home page Giter Site logo

Comments (4)

HrFlorianHoffmann avatar HrFlorianHoffmann commented on June 11, 2024

Really?

METHOD update_and_save.
  update_without_saving( ).
  COMMIT WORK.
ENDMETHOD.

Splitting into update and save cuts a different seam, leading to a different pattern for the consumer:

update( ).
save( ).

May also be valid of course, but not what the example set out to demonstrate. :-)

from styleguides.

f4abap avatar f4abap commented on June 11, 2024

No.. it's exact the same example, just the wording is clearer.
METHOD save.
update( ).
COMMIT WORK.
ENDMETHOD.

With the enhanced example here I got more problems than before. That mean you would code the update table ... into the method and just hope, that there will not be an implicit commit.
So maybe it's complete wrong.

update_internal( ).
update_db( ).

--> then it makes also sense when there is this inside:

METHOD update_db.
  update_internal( ).
UPDATE TABLE ... from whatever.
COMMIT WORK.
ENDMETHOD.

from styleguides.

HrFlorianHoffmann avatar HrFlorianHoffmann commented on June 11, 2024

I'd still not say there is something "wrong" with any of these examples. It just sounds like we have different ideas of what the terms "update" and "save" mean, and what the overall structure of the code could be. :-)

A more complete example could be:

" public
METHOD modify_db_without_comitting.
  modify_db( ).
ENDMETHOD.

" public
METHOD modify_db_and_commit.
  modify_db( ).
  commit( ).
ENDMETHOD.

" private
METHOD modify_db.
  MODIFY <db_table> FROM <member_attribute>.
ENDMETHOD.

" private
METHOD commit.
  COMMIT WORK.
ENDMETHOD.

There are three prevalent cases for Boolean input parameters:

  • a. To set a Boolean attribute. In this case, the Boolean input is fine.
  • b. To choose a fully alternative implementation of the method.
  • c. To switch on an additional side feature within the method, like in the example here.

Should we try and find a suitable case b. example to avoid the kind of misunderstandings with case c. examples we see here?

from styleguides.

rdibbern avatar rdibbern commented on June 11, 2024

The community has not responded to @HrFlorianHoffmann proposals

from styleguides.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.