profile
viewpoint
Robert C. Martin unclebob Uncle Bob Consulting LLC. Gurnee, IL cleancoder.com Uncle Bob. Author of Clean Code.

unclebob/fitnesse 1475

FitNesse -- The Acceptance Test Wiki

unclebob/CC_SMC 71

State Machine Compiler for Clean Code video series.

unclebob/clojureOrbit 70

Orbital simulator in Clojure

unclebob/MACS_GOMOKU 70

Mobile Application Case Study -- GOMOKU project

dougbradbury/cslim 55

Fitnesse Slim implementation in C

sandromancuso/cleancoders_openchat 50

Backend application for the CleanCoders series

slagyr/gaeshi 39

Google App Engine library for Clojure

unclebob/javaargs 38

The Java version of the Args Program.

unclebob/Episode-10-ExpenseReport 36

The Expense Report example from cleancoders.com episode 10

unclebob/HTWCleanCoders 20

Hunt the Wumpus for Clean Coders Acceptance Testing Episodes.

push eventunclebob/ubc-website

Robert C. Martin

commit sha ed3655b178e85505b2e23d633c110c3a2a5381b7

Events for Dec, Jan, Feb, Mar 2020.

view details

push time in a month

push eventunclebob/ubc-website

Robert C. Martin

commit sha 72517d3630cf68746331441a4b57aaf46b115d93

Events for Dec, Jan, Feb, Mar 2020.

view details

push time in a month

push eventunclebob/ubc-website

Robert C. Martin

commit sha 04be9528bf8c66f612ab43cdea380db0d2ddbdd4

add Nashville TDD 5/4/20

view details

push time in a month

push eventunclebob/ubc-website

Robert C. Martin

commit sha 4c89fd045f1a6ba83b0f53c82b4ed615fed9dbc2

Events for Dec, Jan, Feb, Mar 2020.

view details

push time in 3 months

push eventunclebob/sudoku

Robert C. Martin

commit sha 83733aa7889a75495ec2da7926df517aada7ed38

Not fun problems.

view details

Robert C. Martin

commit sha 4096dd532a189767be80461497b030885936c939

Clean up the solver.

view details

Robert C. Martin

commit sha a7990c46f332765d4b26d94f98bc4a540402f217

Remove useless functions.

view details

push time in 3 months

push eventunclebob/sudoku

Robert C. Martin

commit sha 562d4331d0cfbd408291379521fe94bcebae36e8

Solver. And rank 3 works.

view details

push time in 3 months

push eventunclebob/sudoku

Robert C. Martin

commit sha 5ce4c16a70c4f79b4a3cfc32b7b0bb1d410435b1

Associate possible values with missing cells.

view details

push time in 3 months

push eventunclebob/sudoku

Robert C. Martin

commit sha 4c3fd07c104b0423aeffb993fb7788d3f6b493e2

Began the solver. Got missing cells and possible values working.

view details

push time in 3 months

push eventunclebob/sudoku

Robert C. Martin

commit sha 99bd529e8240c2d94614c666d832ff9157ddf3b1

Clean up duplicate code in is-valid-board? and is-solved-board?

view details

push time in 3 months

push eventunclebob/sudoku

Robert C. Martin

commit sha c7e568951894ed0013f03421f1a85c150cfe2f91

Explore valid boards and get rank 1 and rank 2 working.

view details

push time in 3 months

push eventunclebob/sudoku

Robert C. Martin

commit sha feb2ca91131bfd2b8ed6c985bb5f1cbba8fc1480

Explore whether a board is solved.

view details

push time in 3 months

push eventunclebob/sudoku

Robert C. Martin

commit sha 41c316fc5f02c86d2180cd4ad47ca9fcf106472c

Explore the groupings of the rank 2 board.

view details

push time in 3 months

push eventunclebob/sudoku

Robert C. Martin

commit sha 5fdad8ea4d21717865bffe1c16a554e95db1a801

Explore validity of rank 2 board.

view details

push time in 3 months

push eventunclebob/sudoku

Robert C. Martin

commit sha 2ac39f0289ae8c5dcca7a0da3e3fc1f4ca860861

Explore all variations of the degenerate case.

view details

push time in 3 months

push eventunclebob/sudoku

Robert C. Martin

commit sha c984a901b033e0b0f8f2c4c7eb1cd6e293432210

The degenerate case. A sudoku board of rank 1.

view details

push time in 3 months

push eventunclebob/ubc-website

Robert C. Martin

commit sha 16c6197697f347996914a8421cd899a3a0d1ba72

Analysis Patterns and Domain Driven Design.

view details

push time in 3 months

push eventunclebob/ubc-website

Robert C. Martin

commit sha a6884a3cf0062579e03fedc7a29e0d05431aa0db

Correct Angela's email.

view details

push time in 3 months

push eventunclebob/unclebob.github.io

Robert C. Martin

commit sha a798a418ebb0e435617e21efc89bc93f8a5d5195

Linux Foundation

view details

push time in 3 months

push eventunclebob/ubc-website

Robert C. Martin

commit sha aeb00ab0d46a65a165f11ce1262a96ab047c5f34

Cancel Bristech

view details

push time in 3 months

issue commentunclebob/CC_SMC

Consideration: Parameterized events

José,

This is a road I’ve been down before and it doesn’t end well. By trying to simplify the state machine you have to hide the complexity in the code. The point of the state machine is to expose the complexity in a place that is easy to see and change.

There are techniques, such as superstates, that help to prevent duplication in the state machine, but real state/transition complexity should probably not be hidden.

On Nov 3, 2019, at 13:30 , José Manuel Nieto notifications@github.com wrote:

I've thought of a FSM representing a simple handheld calculator. With the current SMC, the definition would be really cumbersome and difficult to build, because each button (digit) press would require a different event. It would be great to have a way to mitigate this problem, but I wonder if that's a good idea or not.

In this case, events should have some kind of optional payload, so the keypad_pressed event can produce an action consuming the payload of that event like in this:

AwaitingInput { OnDigitKeyPress[x] AwaitingInput AppendInput[x] ... } This way, upon the code generation stage, the code could pass the parameter x to the AppendInput action.

Anyways, building a FSM like this with the SMC is still complex, since pressing an operation key in the calculator will lead you to a different operation state depending on the key, and there may be lots of different operations :)

As I said, it's just a consideration. Maybe somebody could come up with a good approach to use case.

Thanks for reading :)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/unclebob/CC_SMC/issues/5?email_source=notifications&email_token=AAAJAJPRVNKZ33VXUJ66UTTQR4KDLA5CNFSM4JIMPWT2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HWOZTAQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAJAJPITQWKW4I2A4R2WKTQR4KDLANCNFSM4JIMPWTQ.

Robert C. Martin (Uncle Bob) | unclebob@cleancoder.com mailto:unclebob@cleancoder.com Uncle Bob Consulting LLC. | @unclebobmartin 847.922.0563 | cleancoder.com http://cleancoder.com/

SuperJMN

comment created time in 4 months

push eventunclebob/unclebob.github.io

Robert C. Martin

commit sha bcc0c9372fe385dadb10efd9588ab363e0bfb459

WhatTheyThoughtOfUs

view details

push time in 4 months

push eventunclebob/ubc-website

Robert C. Martin

commit sha e82c60e2663266457ef509bfcb9fbc6bd9c9a6da

Add Canadian Events

view details

push time in 4 months

create barnchunclebob/sudoku

branch : master

created branch time in 4 months

created repositoryunclebob/sudoku

Sudoku solver for E61 of Clean Code (cleancoders.com)

created time in 4 months

push eventunclebob/ubc-website

Robert C. Martin

commit sha c71b32dc5f78e3e989639f737fb4cf08b4260fa8

Add events and Design Patterns book

view details

push time in 4 months

push eventunclebob/unclebob.github.io

Robert C. Martin

commit sha 850d9d66bf693495104d1292d21993b8eb30c6f8

Ciculatory

view details

push time in 4 months

push eventunclebob/ubc-website

Robert C. Martin

commit sha 88de3ca28eee284bfbed557fa3e676f1e0678bcd

Remove Scroll from product catagory.

view details

push time in 5 months

push eventunclebob/ubc-website

Robert C. Martin

commit sha 6376e236c700bcdf06efd7d5818655c6f3283e21

Clean Agile 12 Nov 2019

view details

push time in 5 months

push eventunclebob/ubc-website

Robert C. Martin

commit sha 07be4b33bcea4517a26ef9aab99ca5b21b8f1a13

Fort Wayne

view details

push time in 5 months

push eventunclebob/ubc-website

Robert C. Martin

commit sha a5060a4f0ace4a651622c2bcc9cc5ecc3b2dfad6

NIU Ijug

view details

push time in 5 months

push eventunclebob/ubc-website

Robert C. Martin

commit sha b229be1a3cf82f3f3c05bdc5ba8315c7bb7718ea

NIU Ijug

view details

push time in 5 months

push eventunclebob/ubc-website

Robert C. Martin

commit sha 320ebe662666c27cfbe7e614716e74abd7172efe

Santa Monica Clean Architecture

view details

push time in 5 months

push eventunclebob/ubc-website

Robert C. Martin

commit sha cf2bfb1f686b5dee75d5355cea32f6d6320b4699

Santa Monica Clean Architecture

view details

push time in 5 months

more