JeffDeCola/control-fpga-via-raspi-and-webserver

View on GitHub

Showing 219 of 219 total issues

Similar blocks of code found in 77 locations. Consider refactoring.
Open

function data_in_a_zero_5_onmouseover() {
    switch(data_in_a_5_state) {
        case "low":
            document.getElementById("data_in_a_zero_5").style.backgroundColor=lightgreen;
            break;
Severity: Major
Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 68.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 77 locations. Consider refactoring.
Open

function data_in_b_one_6_onmouseover() {
  switch(data_in_b_6_state) {
      case "low":
          document.getElementById("data_in_b_one_6").style.backgroundColor=grey;
          break;
Severity: Major
Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 68.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 77 locations. Consider refactoring.
Open

function data_in_b_one_5_onmouseout() {
  switch(data_in_b_5_state) {
      case "low":
          document.getElementById("data_in_b_one_5").style.backgroundColor=white;
          break;
Severity: Major
Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 68.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 77 locations. Consider refactoring.
Open

function data_in_b_one_4_onmouseout() {
switch(data_in_b_4_state) {
    case "low":
        document.getElementById("data_in_b_one_4").style.backgroundColor=white;
        break;
Severity: Major
Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 68.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 77 locations. Consider refactoring.
Open

function data_in_b_zero_1_onmouseover() {
switch(data_in_b_1_state) {
    case "low":
        document.getElementById("data_in_b_zero_1").style.backgroundColor=lightgreen;
        break;
Severity: Major
Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 68.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 77 locations. Consider refactoring.
Open

function data_in_a_zero_7_onmouseout() {
    switch(data_in_a_7_state) {
        case "low":
            document.getElementById("data_in_a_zero_7").style.backgroundColor=lightgreen;
            break;
Severity: Major
Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 68.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 77 locations. Consider refactoring.
Open

function data_in_a_one_4_onmouseout() {
  switch(data_in_a_4_state) {
      case "low":
          document.getElementById("data_in_a_one_4").style.backgroundColor=white;
          break;
Severity: Major
Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 68.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 77 locations. Consider refactoring.
Open

function data_in_b_zero_5_onmouseout() {
  switch(data_in_b_5_state) {
      case "low":
          document.getElementById("data_in_b_zero_5").style.backgroundColor=lightgreen;
          break;
Severity: Major
Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 68.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 77 locations. Consider refactoring.
Open

function data_in_b_zero_1_onmouseout() {
switch(data_in_b_1_state) {
    case "low":
        document.getElementById("data_in_b_zero_1").style.backgroundColor=lightgreen;
        break;
Severity: Major
Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 68.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 77 locations. Consider refactoring.
Open

function data_in_b_one_0_onmouseover() {
switch(data_in_b_0_state) {
    case "low":
        document.getElementById("data_in_b_one_0").style.backgroundColor=grey;
        break;
Severity: Major
Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 68.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 77 locations. Consider refactoring.
Open

function data_in_b_one_0_onmouseout() {
switch(data_in_b_0_state) {
    case "low":
        document.getElementById("data_in_b_one_0").style.backgroundColor=white;
        break;
Severity: Major
Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 68.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Function send_data_to_web_server has 30 lines of code (exceeds 25 allowed). Consider refactoring.
Open

function send_data_to_web_server(opcode, data_in_a, data_in_b, go) {

    // CREATE A NEW REQUEST
    postRequest = new XMLHttpRequest();
        if (!postRequest) {
Severity: Minor
Found in section-4-web-server/control-an-fpga/js/ajax_xhr_call_post.js - About 1 hr to fix

    Method data_a_pins.write_data_in_a has 55 lines of code (exceeds 50 allowed). Consider refactoring.
    Open

    func (d data_a_pins) write_data_in_a(d7 int, d3 int, d2 int, d1 int, d0 int) {
    
        if d7 == 1 {
            err := d.data_7.Out(gpio.High)
            if err != nil {
    Severity: Minor
    Found in section-3-backend-server/main.go - About 1 hr to fix

      Function show_data_out has 29 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      function show_data_out(data) {
      
          console.log("SHOW DATA_OUT FROM FPGA");
          console.log("data = " + data.data_out);
          document.getElementById("data_out").classList.remove("pulse"); // PULSE DATA_OUT OFF
      Severity: Minor
      Found in section-4-web-server/control-an-fpga/js/opcode.js - About 1 hr to fix

        Function server_error has 29 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        function server_error() {
        
            console.log("SERVER ERROR");
            document.getElementById("data_out").classList.remove("pulse"); // PULSE DATA_OUT OFF
            document.getElementById("html_interface_arrow_right").classList.remove("pulse"); // PULSE ARROW RIGHT OFF
        Severity: Minor
        Found in section-4-web-server/control-an-fpga/js/opcode.js - About 1 hr to fix

          Method data_pins.write_data_in has 8 arguments (exceeds 4 allowed). Consider refactoring.
          Open

          func (d data_pins) write_data_in(d7 int, d6 int, d5 int, d4 int, d3 int, d2 int, d1 int, d0 int) {
          Severity: Major
          Found in section-3-backend-server/main.go - About 1 hr to fix

            Function send_data_to_web_server has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
            Open

            function send_data_to_web_server(opcode, data_in_a, data_in_b, go) {
            
                // CREATE A NEW REQUEST
                postRequest = new XMLHttpRequest();
                    if (!postRequest) {
            Severity: Minor
            Found in section-4-web-server/control-an-fpga/js/ajax_xhr_call_post.js - About 55 mins to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Method opcode_pins.write_opcode has a Cognitive Complexity of 24 (exceeds 20 allowed). Consider refactoring.
            Open

            func (o opcode_pins) write_opcode(o3 int, o2 int, o1 int, o0 int) {
            
                if o3 == 1 {
                    err := o.opcode_3.Out(gpio.High)
                    if err != nil {
            Severity: Minor
            Found in section-3-backend-server/main.go - About 55 mins to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Function UserControl has 7 arguments (exceeds 4 allowed). Consider refactoring.
            Open

            func UserControl(opcode opcode_pins, data_in_a data_a_pins, data_in_b data_pins, GO_BAR_PIN gpio.PinIO, RESET_PIN gpio.PinIO, JAM_PIN gpio.PinIO, data_out data_pins) {
            Severity: Major
            Found in section-3-backend-server/main.go - About 50 mins to fix

              Method data_a_pins.write_data_in_a has 5 arguments (exceeds 4 allowed). Consider refactoring.
              Open

              func (d data_a_pins) write_data_in_a(d7 int, d3 int, d2 int, d1 int, d0 int) {
              Severity: Minor
              Found in section-3-backend-server/main.go - About 35 mins to fix
                Severity
                Category
                Status
                Source
                Language